-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSplitBill.py
33 lines (28 loc) · 1.01 KB
/
SplitBill.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
class Brunch:
activities=[]
mainDic={}
db={}
def processIt(self):
db=Brunch.db
for user in db.keys():
credit=sum([v for v in db[user].values() if isinstance(v,int)])
for activ in db[user].keys():
q=db[user][activ]
if q!=None:
fee=Brunch.mainDic[activ][2]
credit-=fee
print(f"Result for {user} is {round(credit,2)}")
def __init__(self,*args):
Brunch.activities=list(args)
Brunch.mainDic={a:[0,0,0] for a in list(args)}
def addPerson(self,name,*activity):
activList=list(activity)
Brunch.db[name]={Brunch.activities[v]:activList[v] for v in range(len(activList))}
for a in range(len(activity)):
if isinstance(activity[a],int):
#create dictionary of activities with amount of people and total price
Brunch.mainDic[Brunch.activities[a]][0]+=1
Brunch.mainDic[Brunch.activities[a]][1]+=list(activity)[a]
people,price,p=Brunch.mainDic[Brunch.activities[a]]
#count price of activity per person
Brunch.mainDic[Brunch.activities[a]][2]=price/people