import time
import os
def cost(fname):
'用于记录花费'
cost_time = time.strftime('%Y-%m-%d')
try:#异常处理机制
cost_deposit = int(input('花销金额:'))
cost_mark = input('花销说明:')
except ValueError:
print('无效的金额')
return # 函数的return类似于循环的break,return提前结束函数。
except (KeyboardInterrupt, EOFError):
print('\nbye-bye')
exit(1)
# 在文件中取出所有的收支记录
with open(fname,'rb') as fobj:
records = pickle.load(fobj)
# 计算最新余额
balance = records[-1][-2] - cost_deposit
# 构建最新一笔收入
record = [cost_time,0,cost_deposit,balance,cost_mark]
# 将收入追加到收支列表中
records.append(record)
# 将最新收支情况写入文件
with open(fname,'wb') as fobj:
pickle.dump(records,fobj)
def save(fname):
save_time = time.strftime('%Y-%m-%d')
try:
save_deposit = int(input('收入金额:'))
save_mark = input('收入说明:')
except ValueError:
print('无效的金额')
return
except (KeyboardInterrupt,EOFError):
print('bye-bye')
exit(1)
with open(fname, 'rb') as fobj:
records = pickle.load(fobj)
balance = records[-1][-2] + save_deposit
record = [save_time,save_deposit,0,balance, save_mark]
records.append(record)
with open(fname, 'wb') as fobj:
pickle.dump(records, fobj)
def query(fname):
'用于查账'
# 打印表头
print(f'{"date":<15}{"save":<8}{"cost":<8}{"balance":<12}{"mark":<50}')
with open(fname,'rb') as fobj:
records = pickle.load(fobj)
for date,cost,save,balance,mark in records:
print(f'{date:<15}{cost:<8}{save:<8}{balance:<12}{mark:<50}')
def menu():
funcs = {'0':cost,'1':save,'2':query}
prompt = '''(0)开销
(1)收入
(2)查询
(3)退出
请选择(0/1/2/3):'''
fname = 'account.data'
if not os.path.exists(fname):
init_data = [[time.strftime('%Y-%m-%d'),0,0,10000,'init_data']]
with open(fname,'wb') as fobj:
pickle.dump(init_data,fobj)
while 1:
try:
choice = input(prompt).strip()
except(KeyboardInterrupt,EOFError):
choice = '3'
if choice not in ['0','1','2','3']:
print('无效输入,重试')
continue
if choice == '3':
print('\nbye_bye')
break
funcs[choice](fname)
if __name__ == '__main__':
menu()
我自己也有在用记账app,推荐几个实用的app:
网易有钱
主要大功能资产、账单、理财、我(个人界面),以及小功能分类:支出、收入、转账等设计的都很容易识别,记账界面的小logo一点不繁杂多余,挺有扁平化风格,总体是喜欢的。
挖财
挖财的界面,个人认为还是蛮小清新的。用风景画的形式有利于消解记账的“严肃性”,整体布局也比较清晰。不过纯黑色的记账板块,我还是有点接受不了;而且这里的记账其实真的不太方便,这个放在后面说。
简易记账
界面有一种上世纪网站风格,绿色和黑色为主基调真的挺压抑的,logo也简单的有点莫名其妙,比如“交通”的logo我怎么猜也猜不出是什么东东来。整个界面层面,就不多说了。
91记账
设计风格上金属气息比较重;有点凌乱,有些分类过多,比如记一笔、流水、同步放在了最主要的记账界面,体验感不太好。记账的选择分类用科目代替名字怪怪的不说,logo太过于写实。
随手记
随手记是相对来说资历很老的一款APP,但是如果想要简洁的页面,它和MoneyWiz 2一样都达不到这个要求,而且页面也是有点过于土气了。
有,百事AA记账微信小程序和app就实现了多人共享记账,数据多终端同步,家庭多人记账有个微信就可以,节省您的手机空间。
喊家人一起记账,只需三次点击:首页右上角头像—邀请好友—微信或二维码,对方收到邀请后加入即可。
我不是一个单机单人账本,我支持多人一起记账、一起管理资产,还支持多人AA制(分账方式包括均分、百分百、份额、明细)收支的结算。
您可以在我们这免费创建和管理若干类型的账本,情侣可以使用多人共享账本,与他人AA制出差或旅行、合租生活等可以用多人AA账本模式,账本记录过程中也可以随时切换。
不光说话,拍一张小票上传也能自动识别,是不是很省事?
软件简介:
百事AA记账利用智能科技解决多人合伙生意、家庭生活、结伴旅行、合租、团队或班费等场景下,复杂的资产管理和结算问题的应用,包括多人收支分账、多人结算、成员和团队消费统计、他人共享资产跟踪、多种货币换算等麻烦。
分单人账本、多人AA、多人共享三种类型账本。有app和小程序端,数据同步,适合家庭记账、情侣记账,班费记账、多人旅行记账、合伙生意记账、合租记账、个人生活记账等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)