python算账脚本

1.假如小明卡里有10000元去商场买东西发现钱不够又向父母借了5000账单如下

20200531 0 0 10000 int
20200531 0 1000 9000 eat
20200531 0 3000 6000 buy a computer
20200531 0 2000 4000 buy cloth
20200531 0 5000 -1000 buy a phone
20200531 5000 0 4000 borrow
20200531 0 1000 3000 play
2.以下脚本就能实现上面的运算
from time import strftime import pickle import os try: def save(): data =
strftime('\033[35m%Y-%m-%d\033[0m') money = int(input('How much do you have to
save?:')) comment = input('Which come of money?') with open('account.book','rb')
as fname: list = pickle.load(fname) record = list[-1][-2] balance = record +
moneylist.append([data,money,0,balance,comment]) with open('account.book','wb')
as fname: pickle.dump(list,fname) def cost(): data = strftime(
'\033[35m%Y-%m-%d\033[0m') money = int(input('How much did you spend?:'))
comment= input('Where is it used?:') with open('account.book','rb') as fname:
list = pickle.load(fname) record = list[-1][-2] balance = record - money list.
append([data,0,money,balance,comment]) with open('account.book', 'wb') as fname:
pickle.dump(list, fname) def query(): print(
'\033[34m%-20s%-9s%-9s%-10s%-18s\033[0m' % ('date','save','cost','balance',
'comment')) with open('account.book','rb') as fname: record = pickle.load(fname)
for i in record: print('%-29s%-9s%-9s%-10s%-20s' % tuple(i)) def choice_memu():
promat=''' (0)save (1)cost (2)query (3)exit please choice:''' fname =
'account.book' if not os.path.exists(fname): with open(fname,'wb') as obj: t_t =
strftime('\033[35m%Y-%m-%d\033[0m') data = [[t_t,0,0,10000,'int']] pickle.dump(
data,obj) while 1: cmds = {'0':save,'1':cost,'2':query} choice = input(promat)
if choice not in ['0','1','2','3']: continue if choice == '3': print(
'\033[32msee you\033[0m') break cmds[choice]() if __name__ == '__main__':
choice_memu() except KeyboardInterrupt: print('\033[32msee you\033[0m') except
ValueError: print('\033[31minvalid inputs\033[0m')
3.与上面的表格比较发现结果一样