用python 记账小程序_python 实例8 日常记账本小程序
实现收支的自动计算
能够查询每笔账款的消费详情
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 实例8 日常记账本小程序相关推荐
- python输出运行时间表_Python编程第十二课 了解程序运行的时间
了解了程序如何运行,我们就可以让我们写的程序变得更快. 介绍 在前面很长一段时间,我们学习建立一个搜索索引,它可以通过一次一次地查看每个条目来响应查询. 当搜索索引检查关键字与我们要找的词相匹配时,就 ...
- python人机对战_Python实现的人机对战小游戏——剪刀、石头、布
各版本程序工程叙述:获取双方对战人员名单 实现一次对战 根据对战结果评输赢 实现多次对战 实现最终结果的评判 版获取双方对战人员名单 涉及知识点:print()向控制台输出信息 input()从键盘录 ...
- python正则化调优_Python实例介绍正则化贪心森林算法(附代码)
作者:Ankit Chaoudhary 翻译:笪洁琼 校对:梁傅淇本文共3515字,建议阅读7分钟. 通过本文与大家讨论一个被称为正则化的贪心森林算法. 引言 作为一名参与多个机器学习竞赛数据科学家, ...
- python人脸检测与微信小程序_python+requests对app和微信小程序进行接口测试
对于web端和app端的接口测试来说,他们都是通过请求方法,url和传递的body参数进行接口请求,区别web和app的区别就是header请求的不同.不同的地方在于header中的User-Agen ...
- python定时播放音乐程序_Python实例讲解 -- 定时播放 (闹钟+音乐)
自己写的闹钟, 只可以播放wav格式的音频. import time import sys soundFile = 'sound.wav' not_executed = 1 def soundStar ...
- python每天一个小程序_Python 练习册,每天一个小程序----第0000题
题目 第 0000 题: 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果. 类似于图中效果 Code: 1 from PIL importImage,Ima ...
- python课程设计小程序_python实验课做的一些小程序
[实例简介]bp.爬虫.cnn 实验 [实例截图] [核心代码] untitled ├── bp │ ├── bp.py │ └── input_data.py ├── cnn │ ├── cnn_m ...
- python每日一个小程序_Python 练习册,每天一个小程序
第0000题~第0010题 第 0000 题: 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果. from PIL import Image, ImageD ...
- python项目如何打开_python如何打开_linux如何打开python_python程序打开 - 云+社区 - 腾讯云...
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 当你安装好python时,你可以在python环境下写语句. python环境有 ...
最新文章
- redhat安装pure-ftpd+mysql时出现libmysqlclient错误的解决办法
- POJ1753 棋盘翻转(位压缩+广度优先搜索)
- javafx树视图加选框_JavaFX缺少的功能调查:表视图
- html5css3js文件作业,HTML5 CSS3 JavaScriptWeb前端开发自测试卷2.docx
- 【PAT - 甲级1155】Heap Paths (30分)(栈,dfs,二叉树)
- IQueryable和IEnumerable区别
- android人脸识别demo_零门槛解决Windows人脸识别应用开发难题
- 9 FI配置-财务会计-维护会计年度变式
- java代码执行 打包jar_Java程序打包成jar文件包并执行的方法
- React子组件怎么改变父组件的state
- 说说如何在 Spring 框架中使用 SpEL 表达式
- 如何修改云服务器连接密码错误,如何修改云服务器连接密码
- sqLite数据库读C#
- C++基础数论—————容斥原理
- tidb损坏tikv节点怎么恢复集群
- 服务器ubuntu系统调节亮度,ubuntu 设置显示器的亮度
- 解读 Java 并发队列 BlockingQueue
- 基于Android新能源电动汽车充电服务导航
- 测试工程师应具备的素质
- 有哪些JAVA设计模式呢?