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中元类用法实例
Oct 10 Python
Python OpenCV获取视频的方法
Feb 28 Python
单利模式及python实现方式详解
Mar 20 Python
详解django自定义中间件处理
Nov 21 Python
Python 获取中文字拼音首个字母的方法
Nov 28 Python
基于python历史天气采集的分析
Feb 14 Python
详解Django模版中加载静态文件配置方法
Jul 21 Python
Python学习笔记之列表推导式实例分析
Aug 13 Python
妙用itchat! python实现久坐提醒功能
Nov 25 Python
对tensorflow中cifar-10文档的Read操作详解
Feb 10 Python
virtualenv介绍及简明教程
Jun 23 Python
Django filter动态过滤与排序实现过程解析
Nov 26 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 获取客户端真实IP地址多种方法小结
2010/05/15 PHP
php+mysqli事务控制实现银行转账实例
2015/01/29 PHP
php表单加入Token防止重复提交的方法分析
2016/10/10 PHP
php 根据自增id创建唯一编号类
2017/04/06 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
Javascript 阻止javascript事件冒泡,获取控件ID值
2009/06/27 Javascript
运用JQuery的toggle实现网页加载完成自动弹窗
2014/03/18 Javascript
js实现正方形颜色从下往上升的效果
2014/08/04 Javascript
js实现精确到秒的日期选择器完整实例
2016/04/30 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
2016/09/14 Javascript
javascript 开发之网页兼容各种浏览器
2017/09/28 Javascript
使用Vue如何写一个双向数据绑定(面试常见)
2018/04/20 Javascript
bootstrap模态框弹出和隐藏,动态改变中间内容的实例
2018/08/10 Javascript
jQuery实现网页拼图游戏
2020/04/22 jQuery
ES6的解构赋值实例详解
2019/05/06 Javascript
vue中uni-app 实现小程序登录注册功能
2019/10/12 Javascript
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
[45:59]完美世界DOTA2联赛PWL S2 FTD vs GXR 第二场 11.22
2020/11/24 DOTA
python 线程的暂停, 恢复, 退出详解及实例
2016/12/06 Python
Python实现的爬虫功能代码
2017/06/24 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
python将每个单词按空格分开并保存到文件中
2018/03/19 Python
python基于itchat模块实现微信防撤回
2019/04/29 Python
Python 实用技巧之利用Shell通配符做字符串匹配
2019/08/23 Python
在python3中实现更新界面
2020/02/21 Python
施华洛世奇加拿大官网:SWAROVSKI加拿大
2018/06/03 全球购物
捷克街头、运动和滑板一站式商店:BoardStar.cz
2019/10/06 全球购物
质量工程师岗位职责
2013/11/16 职场文书
医学专业本科毕业生自我鉴定
2013/12/28 职场文书
数控机械专业个人的自我评价
2014/01/02 职场文书
绍兴鲁迅故居导游词
2015/02/09 职场文书
悬崖上的金鱼姬观后感
2015/06/15 职场文书
公司出差管理制度范本
2015/08/05 职场文书
python基于tkinter制作无损音乐下载工具
2021/03/29 Python
Pygame Event事件模块的详细示例
2021/11/17 Python