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