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 实现文件的全备份和差异备份详解
Dec 27 Python
对python:print打印时加u的含义详解
Dec 15 Python
python将处理好的图像保存到指定目录下的方法
Jan 10 Python
python3正则提取字符串里的中文实例
Jan 31 Python
django与小程序实现登录验证功能的示例代码
Feb 19 Python
python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】
Jun 17 Python
django admin.py 外键,反向查询的实例
Jul 26 Python
Python 中的pygame安装与配置教程详解
Feb 10 Python
Python 实现向word(docx)中输出
Feb 13 Python
Python标准库:内置函数max(iterable, *[, key, default])说明
Apr 25 Python
Python分类测试代码实例汇总
Jul 23 Python
Pygame Rect区域位置的使用(图文)
Nov 17 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制作静态网站的模板框架(一)
2006/10/09 PHP
php获取数组长度的方法(有实例)
2013/10/27 PHP
PHP实现更新中间关联表数据的两种方法
2014/09/01 PHP
PHP实现搜索相似图片
2015/09/22 PHP
jQuery(1.3.2) 7行代码搞定跟随屏幕滚动的层
2009/05/21 Javascript
奉献给JavaScript初学者的编写开发的七个细节
2011/01/11 Javascript
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
让alert不出现弹窗的两种方法
2014/05/18 Javascript
jquery使用slideDown实现模块缓慢拉出效果的方法
2015/03/27 Javascript
javascript的几种写法总结
2016/09/30 Javascript
AngularJS解决ng界面长表达式(ui-set)的方法分析
2016/11/07 Javascript
web.js.字符串与正则表达式操作
2017/05/13 Javascript
Vue Spa切换页面时更改标题的实例代码
2017/07/15 Javascript
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
2017/11/14 Javascript
js设置默认时间跨度过程详解
2019/07/17 Javascript
Swiper.js实现移动端元素左右滑动
2019/09/08 Javascript
vue-cli3使用mock数据的方法分析
2020/03/16 Javascript
Python使用crontab模块设置和清除定时任务操作详解
2019/04/09 Python
应用OpenCV和Python进行SIFT算法的实现详解
2019/08/21 Python
Pytorch中膨胀卷积的用法详解
2020/01/07 Python
Python如何在DataFrame增加数值
2020/02/14 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
2020/06/24 Python
CSS3使用transition实现的鼠标悬停淡入淡出
2015/01/09 HTML / CSS
IE8下CSS3选择器nth-child() 不兼容问题的解决方法
2016/11/16 HTML / CSS
世界上最大的折扣香水店:FragranceNet.com
2016/10/26 全球购物
英国版MAC彩妆品牌:Illamasqua
2018/04/18 全球购物
意大利在线大学图书馆:Libreria universitaria
2019/07/16 全球购物
总经理驾驶员岗位职责
2013/12/04 职场文书
中学生期末评语
2014/02/03 职场文书
三项教育活动实施方案
2014/03/30 职场文书
新年团拜会主持词
2014/04/02 职场文书
施工安全责任书
2014/04/14 职场文书
竞聘自述材料
2014/08/25 职场文书
幼儿园大班个人总结
2015/02/28 职场文书
2019年市场部个人述职报告(三篇)
2019/10/23 职场文书
Redis实现主从复制方式(Master&Slave)
2022/06/21 Redis