20190226-利用序列化完成小型记账程序
生活随笔
收集整理的這篇文章主要介紹了
20190226-利用序列化完成小型记账程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
寫一個記賬程序,每天收入多少,支出多少,總額剩多少,使用序列化方式保存信息
算法:
1.讀取輸入格式為 value|classify,其中value整數表示收入,負數表示支出
2.income列表存取收入,spend列表存取支出,deposit存取余額,每次調用函數的時候先獲取歷史income和spend和deposdit
3.數據處理完成后income,spend,deposit需要存入序列化中以便下次使用
注意點:
序列化需要順序存儲和順序使用,且需要以二進制的形式讀寫
#小練習:寫一個記賬程序,每天收入多少,支出多少,總額剩多少,使用序列化方式保存信息
def tally(file):import picklefp = open(file,'rb')try:income = pickle.load(fp)spend = pickle.load(fp)deposit = pickle.load(fp)except:income =[]spend =[]deposit = 0fp.close()
#讀取序列化文件,獲取歷史income,spend,deposit
#value|specificationwhile 1:content = input('請輸入指令:')if content.find('exit')!=-1:break#沒有找到exitif content.find('|')==-1:print('data format is value|specification')continuevalue = content.split('|')[0]specification = content.split('|')[1]
#接受用戶輸入,進行輸入格式檢查try:value = float(value)except:print('data format is value must be a num')if value > 0 :income.append(content)elif value ==0:print('空間有限不存0')else:spend.append(content[1:])deposit+=valuefp = open(file,'wb')pickle.dump(income,fp)pickle.dump(spend,fp)pickle.dump(deposit,fp)fp.close()
#數據處理結束后存儲序列化print(income)print(spend)print(deposit)
tally('deposit.txt') ?
轉載于:https://www.cnblogs.com/hyj691001/p/10434999.html
總結
以上是生活随笔為你收集整理的20190226-利用序列化完成小型记账程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 水疗多少钱啊?
- 下一篇: 模字开头的成语有哪些?