python 实例8 日常记账本小程序
2016-01-11 17:57
477 查看
实现收支的自动计算
能够查询每笔账款的消费详情
1、函数需要两个文件:一个类似钱包功能,存放钱;另一个用于记录每笔花销的用途
2、功能实现
3、程序还有改进处,例如将两个文件以参数的形式传入,会简化代码
能够查询每笔账款的消费详情
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、程序还有改进处,例如将两个文件以参数的形式传入,会简化代码
相关文章推荐
- 安装Django python2.7 + Django1.5.12
- 用python开发股票自动技术分析的软件(三)
- 分类模型的精确率(precision)与召回率(recall)(Python)
- python解析xml文件注意
- Unicode Tips
- python数字图像处理(2):图像的读取、显示与保存
- 自学Python一 迷茫中的开端!
- [151225] Python3 实现最大堆、堆排序,解决TopK问题
- Spark环境下的Kmeans-Python实现
- python豆瓣电影爬虫
- Python篇----命令行调用、输出log日志并打包的脚本
- Python进阶06-10
- [160111] Python学习记录
- Python使用wxPython报错解决方法
- Python转码问题
- [转]python pickle包,cPickle包 存储
- [转]python yield
- Python函数对象
- [转]Python核心模块——urllib模块
- 17个新手常见Python运行时错误