-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcart.py
44 lines (38 loc) · 1.45 KB
/
cart.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import pandas as pd
import numpy as np
#use data from all_item
class Cart:
def __init__(self, item_list: dict):
self.item_list = item_list
self.total_price = 0
self.cart = {}
def addItem(self, item: str, amount = 1):
if item in self.item_list.keys():
price = self.item_list[item]
params = np.array([price, amount])
if item in self.cart.keys():
self.cart[item] = self.cart[item] + params
self.total_price += price
else:
self.cart.update({item :params})
self.total_price += price
print('Item Added')
else:
print('Invalid item')
def removeItem(self, item: str, amount = 1):
if item in self.item_list.keys():
price = self.item_list[item]
params = np.array([price, amount])
if item in self.cart.keys() and self.cart[item][1] != 0:
self.cart[item] = self.cart[item] - params
self.total_price -= price
print('Item Removed')
else:
print('Item is not in the cart')
else:
print('Invalid item')
def printCart(self):
df = pd.DataFrame.from_dict(self.cart, orient='index', columns = ['price', 'amount'])
print(df)
print('Total Price: {} Baht'.format(self.total_price))
print('---------------------------------')