菜鸟也疯狂!8分钟用Python做一个酷炫的家庭随手记

本文介绍了如何使用Python编写简单的记账脚本,将月度开销和收入转换为易于分析的数据。通过处理文本数据,提取收支信息,并计算结余,帮助跟踪个人财务状况。同时,文章探讨了如何优化代码,提高用户体验,如自动处理不同格式的输入,使记账更加便捷。最后,展示了如何利用几行代码生成直观的收支图表,提升记账的趣味性和实用性。
摘要由CSDN通过智能技术生成

每个月都有各种各样的开销,不当家不知道柴米贵呀!柴米油盐酱醋茶样样都要开销,吃的穿的,各种开销,每个月都没有啥结余,小编月初是富人,月底就光了。

都说理财从记账开始,小编我用过很多记账软件,但是都不是很好用,对我来说太复杂了。个人喜欢极其简单的Todolist那种风格,于是我喜欢开始用文本来记录每个月的开销,小编的开销如下:

账单:6月

1.伙食费,-3000

2.零花钱,-1000

3.房租,-3000

4.车贷,-3000

5.工资,+10000

6.理财,+800

7.朋友聚餐,-500

8.买衣服,-500

9.水电费,-100

10.油费,-300

11.交通补贴,+800

12.货币基金,+600

13.手机费,-100

如果用短短的20行Python代码,分分钟把它变成一个炫酷的随手记的账单呢,其实很简单。我们学Python的目的就是学以致用,能解决日常问题的Python才是真正有趣的!

01.第一步

把上面的文本的内容复制到如下:

bill='''
'''

声明一下变量,然后把文本的每一个月记录黏贴到字符串里面

bill='''
账单:6月
1.伙食费,-2000
2.零花钱,-500
3.房租,-3000
4.衣服,-1000
5.工资,+10000
6.理财,+800
7.朋友聚餐,-500
8.买衣服,-500
9.水电费,-100
10.油费,-300
11.全勤奖,+1000
12.货币基金,+600
13.手机费,-100
14.水果,-300
15.地铁+公交,-400
'''

02.处理数据

虽然我们已经在内存里面声明一个变量bill来记录我们的月账单,但是我们需要进行加工,对数据进行切割和加工,还要进行清洗!好比你买会来一条鱼,我们要斩头去尾,去鱼鳞然后剔鱼肉。

家庭的开销,我们分收入和支出两部分,而原生的数据,里面有中文,序列数字,标点,还有开销的数字,所以我们需要清洗并提取数据。

先对账单进行头尾的处理,第一行是我们的账单的名字,剩下的都是具体的账单内容。

03.切割数据

我们把数据用推导列表进行展开,通过'-'认为是每月开销,'+'认为是每月收入。然后再对每一段数据进行清洗,取掉序列标号。

接着把开销的字符串变成整数

里面有大量的字符串,比如'-100','+1000',这些都是字符串,我们必须转为整型或者浮点型才能计算。

04.计算开销明细

经过上面的数据准备,我们可以动手进行计算,看看花了多少钱,还结余多少。

>>

收入: 12400.0

支出: 8700.0

结余: 3700

算下来,一个月虽然有1万多的收入,但是入不敷出啊,各种开销都很大。还是需要继续开源节流啊~

05.炫酷的账本来了

如果说上面这些加加减减好想也没有什么特别的,只是进行数据的统计,谈不上很炫酷呀。那么下面几行代码可以才是我们的重头戏,几行代码立马让你眼前一亮:

支出的:

收入:

收入/支持比:

06.更上一层楼,优化代码

如果让我们的代码功能更强大,增强容错功能!让用户输入的时候更方便,毕竟用户输入的数据不可能这么工整!

  • 比如如果我们的用户输入的时候,开支用'-',而收入用可以省略'+',这样用户可以少输一个字符,更简洁;

  • 比如输入‘15.地铁+公交,-400’ ,输入的时候会英文的逗号和中文的逗号不分,一不小心就写成‘15.地铁+公交,-400’

其实我们的代码只要改动几个字符,就能让我们的程序功能大增,让用户使用起来更爽。

我们在正则的地方,增加一行,

patt=re.compile(r'[\.\,\,]')

再清洗数据的,计算收入的时候改变一下判断

income=[re.split(patt, e)[1:] for e in body if '-' not in e]

END

推荐阅读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值