python打造记账本_python实现日常记账本小程序

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 %(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 %(date,spe_count,N/A,new_bal,spe_comment)

f.write(content)

def query_info():

line = =*63

content = %s %-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实现收支的自动计算,能够查询每笔账款的消费详情,具体内容如下 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 %(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 %(date,spe_count,N/A,new_bal,spe_comment) f.write(content) def query_info(): line = =*63 content = %s %-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、程序还有改进处,例如将两个文件以参数的形式传入,会简化代码。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。
经验分享 程序员 微信小程序 职场和发展