Basic list class and methods
This commit is contained in:
parent
4450e40c2e
commit
b722e068a1
43
listitems.py
Normal file
43
listitems.py
Normal file
|
|
@ -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()
|
||||
Loading…
Reference in a new issue