[Tutor] Array pointers
Orri Ganel
singingxduck at gmail.com
Wed Jan 5 23:23:40 CET 2005
I don't know about a large calculation time, but this seems to work:
>>> def rightshift(a):
ia = a[:]
for i in range(len(ia)-1,0,-1):
if ia[i-1] == 1 and ia[i]!=1:
ia[i]=1
ia[i-1]=0
return ia
>>> l = [1,0,0,0,0,1,1,1,0,1,1,0,1,0]
>>> while l != rightshift(l):
l = rightshift(l)
print l
[0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1]
[0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1]
[0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1]
[0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1]
[0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1]
[0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1]
[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1]
--
Email: singingxduck AT gmail DOT com
AIM: singingxduck
Programming Python for the fun of it.
More information about the Tutor
mailing list