From 057806324f75f692c520cb0b7580aa4167c684e7 Mon Sep 17 00:00:00 2001 From: Nils Liebreich <nilsl99@mi.fu-berlin.de> Date: Tue, 8 Nov 2022 21:31:02 +0100 Subject: [PATCH] Changed StackList.__init__ --- Aufgabe03a.py | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/Aufgabe03a.py b/Aufgabe03a.py index e5af052..78f5c9d 100644 --- a/Aufgabe03a.py +++ b/Aufgabe03a.py @@ -1,7 +1,8 @@ -class Stack(list): +class Stack(): + def __init__(self, l=[]): self.stack = l - + def __str__(self): max_length = len(str(max(self.stack, key=lambda x: len(str(x))))) result = "" @@ -12,7 +13,7 @@ class Stack(list): def push(self, element): self.stack.append(element) - + def pop(self): element = self.stack[-1] del self.stack[-1] @@ -34,45 +35,48 @@ class ListElement: self.next = next class StackList: - - def __init__(self, l): - self.first_element = ListElement(l[-1]) - element = self.first_element - for value in l[1::-1]: - while element.next is not None: - element = element.next - element.next = ListElement(value) - + + def __init__(self, l=None): + if l is None: + self.first_element = None + else: + self.first_element = ListElement(l[-1]) + element = self.first_element + for value in l[1::-1]: + while element.next is not None: + element = element.next + element.next = ListElement(value) + def __str__(self): return_string = "" element = self.first_element while element.next is not None: return_string += str(element.value) + " -> " element = element.next - + return return_string + str(element.value) def push(self, value): self.first_element = ListElement(value, self.first_element) - + def pop(self): value = self.first_element.value self.first_element = self.first_element.next return value - + def top(self): return self.first_element.value - + def size(self): if self.first_element is None: return 0 - + n = 1 element = self.first_element while element.next is not None: n += 1 element = element.next - + return n def isEmpty(self): -- GitLab