python實(shí)現(xiàn)日常記賬本小程序
python實(shí)現(xiàn)收支的自動(dòng)計(jì)算,能夠查詢每筆賬款的消費(fèi)詳情,具體內(nèi)容如下
1、函數(shù)需要兩個(gè)文件:一個(gè)類似錢包功能,存放錢;另一個(gè)用于記錄每筆花銷的用途
#!/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、功能實(shí)現(xiàn)
#!!/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、程序還有改進(jìn)處,例如將兩個(gè)文件以參數(shù)的形式傳入,會(huì)簡化代碼。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
工程師必須了解的LRU緩存淘汰算法以及python實(shí)現(xiàn)過程
這篇文章主要介紹了工程師必須了解的LRU緩存淘汰算法以及python實(shí)現(xiàn)過程,幫助大家更好的學(xué)習(xí)算法數(shù)據(jù)結(jié)構(gòu),感興趣的朋友可以了解下2020-10-10
Falsk 與 Django 過濾器的使用與區(qū)別詳解
這篇文章主要介紹了Falsk 與 Django 過濾器的使用與區(qū)別詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-06-06
Python對(duì)圖像進(jìn)行灰度處理的代碼介紹
這篇文章主要給大家介紹了關(guān)于Python對(duì)圖像進(jìn)行灰度處理的相關(guān)資料,圖像灰度化是將一幅彩色圖像轉(zhuǎn)換為灰度化圖像的過程,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11
python3下使用cv2.imwrite存儲(chǔ)帶有中文路徑圖片的方法
今天小編就為大家分享一篇python3下使用cv2.imwrite存儲(chǔ)帶有中文路徑圖片的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05
python 執(zhí)行終端/控制臺(tái)命令的例子
今天小編就為大家分享一篇python 執(zhí)行終端/控制臺(tái)命令的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07
詳解Python中的魔法函數(shù)與量子計(jì)算模擬
這篇文章主要介紹了python的魔法函數(shù)和量子計(jì)算模擬,我們可以通過一個(gè)實(shí)際的案例來先審視一下這兩個(gè)需求是如何被結(jié)合起來的,希望對(duì)大家有所幫助2023-03-03
Django中celery執(zhí)行任務(wù)結(jié)果的保存方法
今天小編就為大家分享一篇Django中celery執(zhí)行任務(wù)結(jié)果的保存方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07

