首页 > 编程 > Python > 正文

python实现日常记账本小程序

2020-01-04 15:43:22
字体:
来源:转载
供稿:网友

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、程序还有改进处,例如将两个文件以参数的形式传入,会简化代码。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到python教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表