pantry/listitems.py
2024-08-07 20:38:05 +01:00

44 lines
1.1 KiB
Python

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()