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运行效率
Jun 09 Python
python 定时修改数据库的示例代码
Apr 08 Python
python 从文件夹抽取图片另存的方法
Dec 04 Python
详解python websocket获取实时数据的几种常见链接方式
Jul 01 Python
Python Gitlab Api 使用方法
Aug 28 Python
python TK库简单应用(实时显示子进程输出)
Oct 29 Python
使用Pandas将inf, nan转化成特定的值
Dec 19 Python
如何基于python实现脚本加密
Dec 28 Python
详解python破解zip文件密码的方法
Jan 13 Python
学python最电脑配置有要求么
Jul 05 Python
python产生模拟数据faker库的使用详解
Nov 04 Python
python中random模块详解
Mar 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格式化工具Beautify PHP小小BUG
2008/04/24 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
2014/07/29 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
php使用类继承解决代码重复的问题
2015/02/11 PHP
详解PHP中的mb_detect_encoding函数使用方法
2015/08/18 PHP
php layui实现前端多图上传实例
2019/07/30 PHP
JavaScript实现url地址自动检测并添加URL链接示例代码
2013/11/12 Javascript
JSON格式的键盘编码对照表
2015/01/29 Javascript
Bootstrap carousel轮转图的使用实例详解
2016/05/17 Javascript
用原生js统计文本行数的简单示例
2016/08/19 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
JS获取年月日时分秒的方法分析
2016/11/28 Javascript
Easyui和zTree两种方式分别实现树形下拉框
2017/08/04 Javascript
基于node.js的fs核心模块读写文件操作(实例讲解)
2017/09/10 Javascript
AngularJS实现的简单拖拽功能示例
2018/01/02 Javascript
Vue的事件响应式进度条组件实例详解
2018/02/04 Javascript
vue 组件中slot插口的具体用法
2018/04/03 Javascript
JavaScript实现的DOM绘制柱状图效果示例
2018/08/08 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
JavaScript enum枚举类型定义及使用方法
2020/05/15 Javascript
Python实现对特定列表进行从小到大排序操作示例
2019/02/11 Python
在python中画正态分布图像的实例
2019/07/08 Python
Python Django基础二之URL路由系统
2019/07/18 Python
初学者学习Python好还是Java好
2020/05/26 Python
Python如何操作docker redis过程解析
2020/08/10 Python
如何使用Django Admin管理后台导入CSV
2020/11/06 Python
eBay法国购物网站:eBay.fr
2017/10/21 全球购物
Elizabeth Gage官网:英国最好的珠宝设计之一
2020/09/26 全球购物
Silk Therapeutics官网:清洁、抗衰老护肤品
2020/08/12 全球购物
string = null 和string = ''的区别
2013/04/28 面试题
个人找工作求职简历的自我评价
2013/10/20 职场文书
小学运动会报道稿
2014/10/04 职场文书
《蟋蟀的住宅》教学反思
2016/02/17 职场文书
MySQL 用 limit 为什么会影响性能
2021/09/15 MySQL
SQL Server内存机制浅探
2022/04/06 SQL Server
SQL Server数据库的三种创建方法汇总
2023/05/08 MySQL