您好,登錄后才能下訂單哦!
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、程序還有改進處,例如將兩個文件以參數的形式傳入,會簡化代碼。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。