python实现日常记账本小程序


Posted in Python onMarch 10, 2018

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、程序还有改进处,例如将两个文件以参数的形式传入,会简化代码。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中下划线的使用方法
Mar 27 Python
Python栈类实例分析
Jun 15 Python
Python的Django框架中使用SQLAlchemy操作数据库的教程
Jun 02 Python
python实现按任意键继续执行程序
Dec 30 Python
python 实现将字典dict、列表list中的中文正常显示方法
Jul 06 Python
在python带权重的列表中随机取值的方法
Jan 23 Python
python 读取dicom文件,生成info.txt和raw文件的方法
Jan 24 Python
Python通用函数实现数组计算的方法
Jun 13 Python
python字典一键多值实例代码分享
Jun 14 Python
Pyqt5实现英文学习词典
Jun 24 Python
python groupby 函数 as_index详解
Dec 16 Python
Python网络爬虫四大选择器用法原理总结
Jun 01 Python
python实现简单神经网络算法
Mar 10 #Python
TensorFlow saver指定变量的存取
Mar 10 #Python
TensorFLow用Saver保存和恢复变量
Mar 10 #Python
tensorflow创建变量以及根据名称查找变量
Mar 10 #Python
Python2中文处理纪要的实现方法
Mar 10 #Python
python实现冒泡排序算法的两种方法
Mar 10 #Python
Python使用pyh生成HTML文档的方法示例
Mar 10 #Python
You might like
PHP项目开发中最常用的自定义函数整理
2010/12/02 PHP
php根据分类合并数组的方法实例详解
2013/11/06 PHP
thinkPHP中_initialize方法实例分析
2016/12/05 PHP
jQuery的$.proxy()应用示例介绍
2014/04/03 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
jQuery Validate初步体验(二)
2015/12/12 Javascript
JavaScript+html5 canvas实现本地截图教程
2020/04/16 Javascript
深入理解Angular4中的依赖注入
2017/06/07 Javascript
Sublime Text新建.vue模板并高亮(图文教程)
2017/10/26 Javascript
vue-cli2.x项目优化之引入本地静态库文件的方法
2018/06/19 Javascript
OpenLayer学习之自定义测量控件
2020/09/28 Javascript
js实现圆形菜单选择器
2020/12/03 Javascript
小程序实现列表倒计时功能
2021/01/29 Javascript
python类继承用法实例分析
2015/05/27 Python
详谈Python基础之内置函数和递归
2017/06/21 Python
Python网络编程详解
2017/10/31 Python
django定期执行任务(实例讲解)
2017/11/03 Python
python: line=f.readlines()消除line中\n的方法
2018/03/19 Python
Python paramiko模块的使用示例
2018/04/11 Python
对numpy和pandas中数组的合并和拆分详解
2018/04/11 Python
python 读取txt中每行数据,并且保存到excel中的实例
2018/04/29 Python
对dataframe数据之间求补集的实例详解
2019/01/30 Python
基于Python检测动态物体颜色过程解析
2019/12/04 Python
Python使用monkey.patch_all()解决协程阻塞问题
2020/04/15 Python
Django bulk_create()、update()与数据库事务的效率对比分析
2020/05/15 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
2020/07/14 Python
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
软件测试面试题
2015/10/21 面试题
单身联谊活动方案
2014/01/29 职场文书
文秘求职信范文
2014/04/10 职场文书
竞选班干部的演讲稿
2014/04/24 职场文书
生产助理岗位职责
2014/06/18 职场文书
学习雷锋标语
2014/06/25 职场文书
食堂采购员岗位职责
2015/04/03 职场文书
2016年员工政治思想表现评语
2015/12/02 职场文书
利用 Python 的 Pandas和 NumPy 库来清理数据
2022/04/13 Python