ich habe leider dieses Thema in den Forum nicht gefunden, bezüglich meines Problems.
Aufgabe: Klasse A von Typ List -> soll sich verhalten wie eine Liste, allerdings noch eine zusätzliche Methode undo
die die letzte Aktion der Methoden appen, extend, insert, sowie mit del rückgängig macht
nur 1 Schritt Rückgängig, ich muss mir irgendwie eine extra Variable merken
aber klappt nicht so ganz, anbei mein code
Code: Alles auswählen
class A(list):
def __init__(self,l):
list.__init__(self, l)
self.l = l
self.tmp = copy.deepcopy(self.l)
def append(self, ele):
list.append(self, e)
return self.l
def undo():
self.l = copy.deepcopy(self.tmp)
return self.l
if __name__ == '__main__':
a1 = A( [1, 2, 3, 4] )
a1.append(10); print(a1) #Ausgabe 1,2,3,4,10
a1.undo() # print(a1 )Ausgabe 1,2,3,4
ich erhalte immer beim letzten print 1,2,3,4,10