python实现日常记账本小程序

 更新时间:2018年03月10日 12:52:02   作者:shougaogao2011  
这篇文章主要为大家详细介绍了python实现日常记账本小程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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中JsonPath提取器和正则提取器

    Python中JsonPath提取器和正则提取器

    本文主要介绍了Python中JsonPath提取器和正则提取器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • python中eval函数使用与异常处理详解

    python中eval函数使用与异常处理详解

    这篇文章主要给大家介绍了关于python中eval函数使用与异常处理的相关资料,eval()函数用来执行一个字符串表达式,并返回表达式的值,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-04-04
  • matplotlib bar()实现百分比堆积柱状图

    matplotlib bar()实现百分比堆积柱状图

    这篇文章主要介绍了matplotlib bar()实现百分比堆积柱状图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 基于Tensorflow读取MNIST数据集时网络超时的解决方式

    基于Tensorflow读取MNIST数据集时网络超时的解决方式

    这篇文章主要介绍了基于Tensorflow读取MNIST数据集时网络超时的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 基于Python实现的微信好友数据分析

    基于Python实现的微信好友数据分析

    这篇文章主要介绍了基于Python实现的微信好友数据分析的相关知识,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Pycharm中无法使用pip安装的包问题解决方案

    Pycharm中无法使用pip安装的包问题解决方案

    本文主要介绍了Pycharm中无法使用pip安装的包问题解决方案,在终端通过pip装好包以后,在pycharm中导入包时,依然会报错,下面就来介绍一下解决方法
    2023-09-09
  • 利用Python如何将数据写到CSV文件中

    利用Python如何将数据写到CSV文件中

    在数据分析中经常需要从csv格式的文件中存取数据以及将数据写书到csv文件中。下面这篇文章主要给大家介绍了关于利用Python如何将数据写到CSV文件中的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-06-06
  • 解决Python下json.loads()中文字符出错的问题

    解决Python下json.loads()中文字符出错的问题

    今天小编就为大家分享一篇解决Python下json.loads()中文字符出错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python应用打包成APK的全部流程记录

    Python应用打包成APK的全部流程记录

    这篇文章主要介绍了Python应用打包成APK的全部流程,遵循正确的步骤,可以轻松地将Python应用转换为在Android设备上运行的APK文件,从而扩展应用的可用平台,需要的朋友可以参考下
    2024-09-09
  • 浅析Python 中整型对象存储的位置

    浅析Python 中整型对象存储的位置

    下面小编就为大家带来一篇浅析Python 中整型对象存储的位置。小编觉得挺不错的,现在分享给大家,也给大家做个参考,一起跟随小编过来看看吧
    2016-05-05

最新评论