📄 lvuyouguanli.py
字号:
# -*- coding: cp936 -*-
# This program will calculate how much eachone should pay in a AA activity.
# Two files are needed:
# * members: This file has a list of all members of the activity. One member per line
# * expenses: This file has a list of all expenses. Each line is {Payer name};{Expense Description};{Amount}
def getMemberCount():
members = open('members').readlines()
for member in members:
member = str.rstrip(member)
return len(member)
def getAverageExpense():
sum = 0
expenses = open('expenses').readlines()
for expense in expenses:
sum += int(expense.split(';')[2])
return sum / getMemberCount()
def calculateHowMuchEachMemberHasPaid():
dic = {}
expenses = open('expenses').readlines()
for s in expenses:
items = s.split(';')
if dic.has_key(items[0])==False:
dic[items[0]] = int(items[2])
else:
dic[items[0]] += int(items[2])
return dic
def calculateHowMuchEachMemberShouldPay(dic, average):
members = open('members').readlines()
for member in members:
member = str.rstrip(member)
if dic.has_key(member)==False:
dic[member] = average
else:
dic[member] = average - dic[member]
return dic
if __name__ == "__main__":
averageCost = getAverageExpense()
print "平均支出: " + str(averageCost) + "\n"
report = calculateHowMuchEachMemberShouldPay(calculateHowMuchEachMemberHasPaid(), averageCost)
print "支出报表"
for name in report.keys():
print name + " : " + str(report[name])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -