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实现身份证号码解析
Sep 01 Python
如何使用python爬取csdn博客访问量
Feb 14 Python
Python3 XML 获取雅虎天气的实现方法
Feb 01 Python
Python中协程用法代码详解
Feb 10 Python
python将txt文件读取为字典的示例
Dec 22 Python
python定时复制远程文件夹中所有文件
Apr 30 Python
python 将字符串中的数字相加求和的实现
Jul 18 Python
python+pygame实现坦克大战
Sep 10 Python
关于Flask项目无法使用公网IP访问的解决方式
Nov 19 Python
pycharm 代码自动补全的实现方法(图文)
Sep 18 Python
python实现图片素描效果
Sep 26 Python
Python调用JavaScript代码的方法
Oct 27 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
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
2012/06/27 PHP
php实现的click captcha点击验证码类实例
2014/09/23 PHP
PHP使用socket发送HTTP请求的方法
2016/02/14 PHP
用Javascript实现锚点(Anchor)间平滑跳转
2009/09/08 Javascript
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
2013/01/29 Javascript
Jquery刷新页面背景图片随机变换的实现方法
2013/03/15 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
2015/03/04 Javascript
javascript 小数乘法结果错误的处理方法
2016/07/28 Javascript
浅谈JS读取DOM对象(标签)的自定义属性
2016/11/21 Javascript
利用node.js制作命令行工具方法教程(一)
2017/06/22 Javascript
JS数组中对象去重操作示例
2019/06/04 Javascript
React实现评论的添加和删除
2020/10/20 Javascript
全面解读Python Web开发框架Django
2014/06/30 Python
Python中文件操作简明介绍
2015/04/13 Python
python获取当前用户的主目录路径方法(推荐)
2017/01/12 Python
numpy自动生成数组详解
2017/12/15 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
如何使用Flask-Migrate拓展数据库表结构
2019/07/24 Python
基于virtualenv创建python虚拟环境过程图解
2020/03/30 Python
HTML5 客户端数据库简易使用:IndexedDB
2019/12/19 HTML / CSS
香港优质食材和美酒专门店:FoodWise
2017/09/01 全球购物
美国医疗用品、医疗设备和家庭保健用品商店:Medical Supply Depot
2018/07/08 全球购物
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
Java工程师面试集锦之Spring框架
2013/06/16 面试题
党员大会主持词
2014/04/02 职场文书
会议欢迎标语
2014/06/30 职场文书
学校元旦晚会开场白
2014/12/14 职场文书
二年级语文上册复习计划
2015/01/19 职场文书
赔偿协议书怎么写
2015/01/28 职场文书
公司员工宿舍管理制度
2015/08/03 职场文书
《老人与海鸥》教学反思
2016/02/16 职场文书
《水上飞机》教学反思
2016/02/20 职场文书
Python-OpenCV实现图像缺陷检测的实例
2021/06/11 Python
spring cloud 配置中心native配置方式
2021/09/25 Java/Android