python实现日常记账本小程序
作者:shougaogao2011 时间:2023-09-06 18:00:49
python实现收支的自动计算,能够查询每笔账款的消费详情,具体内容如下
1、函数需要两个文件:一个类似钱包功能,存放钱;另一个用于记录每笔花销的用途
#!/usr/bin/env python
import cPickle as p
with open('wallet.data','w') as f:
p.dump(10000,f)
with open('record.txt','w') as f:
pass
2、功能实现
#!!/usr/bin/env python
#coding:utf8
import cPickle as p
import time
date = time.strftime('%Y%m%d')
def save_money():
sav_count=int(raw_input('save money: '))
sav_comment = raw_input('doing what: ')
with open('wallet.data') as f:
balance = p.load(f)
new_bal = balance + sav_count
with open('wallet.data','w') as f:
p.dump(new_bal,f)
content = '%-12s%-8s%-8s%-10s%-25s\n'%(date,'N/A',sav_count,new_bal,sav_comment)
with open('record.txt','a')as f:
f.write(content)
def spend_money():
spe_count=int(raw_input('spend money: '))
spe_comment = raw_input('doing what: ')
with open('wallet.data') as f:
balance = p.load(f)
new_bal = balance - spe_count
with open('wallet.data','w') as f:
p.dump(new_bal,f)
with open('record.txt','a')as f:
content = '%-12s%-8s%-8s%-10s%-25s\n'%(date,spe_count,'N/A',new_bal,spe_comment)
f.write(content)
def query_info():
line = '='*63
content = '%s\n%-12s%-8s%-8s%-10s%-25s'%(line,'Date','Cost','Save','Balance','Comment')
with open('wallet.data') as f:
new_bal = p.load(f)
print 'new balance: ',new_bal
print content
with open('record.txt') as f:
for line in f:
print line
def show_menu():
prompt = '''''
'0':'spend_money'
'1':'save_money'
'2':'query_info'
'3':'quit'
'''
while True:
CMDs={'0':spend_money,'1':save_money,'2':query_info}
choice = raw_input('which do you want to do ?%s: '%prompt)
if choice not in '012':
break
CMDs[choice]()
if __name__=='__main__':
show_menu()
3、程序还有改进处,例如将两个文件以参数的形式传入,会简化代码。
来源:http://blog.csdn.net/shougaogao2011/article/details/50498712
标签:python,记账本,小程序
0
投稿
猜你喜欢
基于Python2、Python3中reload()的不同用法介绍
2023-10-01 17:59:15
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
2022-05-29 03:35:32
TensorFlow安装及jupyter notebook配置方法
2022-09-11 01:05:23
python基于C/S模式实现聊天室功能
2021-05-01 04:17:53
Python反向传播实现线性回归步骤详细讲解
2021-06-04 10:20:03
python小技巧之批量抓取美女图片
2022-09-16 17:25:58
置信椭圆原理以及椭圆图形绘制方式
2021-04-24 04:25:04
详解Google Protobuf简明教程
2023-08-17 14:47:28
这么多的 Oracle 性能工具
2008-06-04 11:20:00
六种php加密解密方法实例讲解
2023-07-01 12:16:02
opencv形态学中的孔洞填充详细图解
2021-08-14 00:44:10
Python使用try except处理程序异常的三种常用方法分析
2021-12-25 22:51:24
SQL Server 数据库备份和还原认识和总结(二)
2012-10-07 10:52:52
python使用MQTT给硬件传输图片的实现方法
2022-02-09 21:55:59
解析SQL Server中datetimeset转换datetime类型问题
2024-01-15 13:22:34
python opencv对图像进行旋转且不裁剪图片的实现方法
2023-03-12 02:40:09
asp下通过HTTP_USER_AGENT判断用户是从手机上访问,还是电脑IE上访问
2011-02-24 11:00:00
Pycharm使用时会出现的问题之cv2无法安装解决
2022-12-26 06:24:49
python抓取需要扫微信登陆页面
2022-03-01 16:15:32
js实现炫酷的左右轮播图
2024-04-22 22:31:40