«

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

IT中华 发布于 阅读:407


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

 

都说理财从记账开始,小编我用过很多记账软件,但是都不是很好用,对我来说太复杂了。个人喜欢极其简单的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.更上一层楼,优化代码

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

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

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

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

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

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

这样的优化能轻松搞定用户的输入容错。是不是很爽,自己动手用Python写一遍,看看你每个月的收支明细,是不是很有成就感!啊呀,小编忘记计算自己的花呗的账单了。。。。下个月又要吃泡面了。

推荐阅读:


扫描二维码,在手机上阅读