[Python-de] Noch eine Denksportaufgabe
Martin v. Loewis
martin at v.loewis.de
Thu Oct 10 21:06:43 EDT 2002
Gerhard Häring <gerhard.haering at opus-gmbh.net> writes:
> Schreibe eine Prozedur, die die Elemente eines Arrays mit M
> Elementen um n rotiert. -M < n < M
class ShiftableArray:
def __init__(self, elems):
self.offset = 0
self.elems = elems
def shift(self, n):
self.offset += n
def __getitem__(self, index):
return self.elems[(index-self.offset)%len(self.elems)]
def __setitem__(self, index, value):
self.elems[(index-self.offset)%len(self.elems)] = value
s = ShiftableArray([1, 2, 3, 4, 5, 6])
print s[0]
s.shift(2)
print s[0]
Ciao,
Martn
More information about the Python-de
mailing list