python

超轻量级php框架startmvc

python实现日常记账本小程序

更新时间:2020-05-24 03:36:01 作者:startmvc
python实现收支的自动计算,能够查询每笔账款的消费详情,具体内容如下1、函数需要两个

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

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

python日常记账本小程序 python记账本小程序 python小程序