From 824ab69c7305d6b3a79096b8de106277deeb3963 Mon Sep 17 00:00:00 2001 From: Nils Liebreich <nilsl99@mi.fu-berlin.de> Date: Tue, 8 Nov 2022 21:57:52 +0100 Subject: [PATCH] Changed Stack.__str__ and fixed pop --- Aufgabe03a.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/Aufgabe03a.py b/Aufgabe03a.py index 68d4c92..83f4a67 100644 --- a/Aufgabe03a.py +++ b/Aufgabe03a.py @@ -4,19 +4,14 @@ class Stack(): self.stack = l def __str__(self): - result = "" - max_length = 1 - if not self.isEmpty(): - max_length = len(str(max(self.stack, key=lambda x: len(str(x))))) - vert = "\u2502" - for ele in reversed(self.stack): - result += vert + str(ele).rjust(max_length) + vert + "\n" - return result + "\u2514" + "\u2500"*max_length + "\u2518" + return str(self.stack) def push(self, element): self.stack.append(element) def pop(self): + if self.isEmpty(): + raise ValueError("The Stack is empty!") element = self.stack[-1] del self.stack[-1] return element @@ -65,6 +60,8 @@ class StackList: self.first_element = ListElement(value, self.first_element) def pop(self): + if self.isEmpty(): + raise ValueError("The Stack is empty!") value = self.first_element.value self.first_element = self.first_element.next return value -- GitLab