diff --git a/listitems.py b/listitems.py new file mode 100644 index 0000000..651a6de --- /dev/null +++ b/listitems.py @@ -0,0 +1,43 @@ +class ListItem: + def __init__(self, name: str, price: float, quantity: int): + self.name = name + self.price = price + self.quantity = quantity + self.is_basket = False + + def toggle_basket(self): + self.is_basket = not self.is_basket + + def __str__(self) -> str: + if self.is_basket: + return f"in basket" # on actual screen should be crossed/marked off + else: + return f"{self.name:<32} | {str(self.quantity):>2} | {self.price:>6.2f}" + + +class ShopList: + def __init__(self, items: []): + self.items = items + + def clear(self): + self.items = [] + + def add_item(self, item: ListItem): + self.items.append(item) + + def pop_item(self, index: int): + self.items.pop(index) + + def toggle_basket(self, index: int): + self.items[index].toggle_basket() + + +# main() below this line +def main(): + newlist = ShopList([ListItem("Oranges", 2.50, 5), ListItem("Apple", 69.99, 1)]) + for i in newlist.items: + print(i) + + +if __name__ == "__main__": # test + main()