From 9bbdbc04415f07a0870f93963f507184452b3407 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=A1azquez=20Caraballo?= Date: Fri, 6 Dec 2024 17:02:59 +0100 Subject: [PATCH] Fix AttributeError in dequeue_cat and dequeue_dog methods --- chapter_03/p06_animal_shelter.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/chapter_03/p06_animal_shelter.py b/chapter_03/p06_animal_shelter.py index 42b2d199..2efa0bc6 100644 --- a/chapter_03/p06_animal_shelter.py +++ b/chapter_03/p06_animal_shelter.py @@ -70,7 +70,10 @@ def dequeue_cat(self): current_node = self.head while current_node is not None: if isinstance(current_node.data, Cat): - previous_node.next_node = current_node.next_node + if previous_node is None: + self.head = current_node.next_node + else: + previous_node.next_node = current_node.next_node return current_node.data previous_node = current_node current_node = current_node.next_node @@ -81,7 +84,10 @@ def dequeue_dog(self): current_node = self.head while current_node is not None: if isinstance(current_node.data, Dog): - previous_node.next_node = current_node.next_node + if previous_node is None: + self.head = current_node.next_node + else: + previous_node.next_node = current_node.next_node return current_node.data previous_node = current_node current_node = current_node.next_node