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

一个用Python实现的简单个人日常记账软件 这只是一个简单的示例,你可以根据自己的需求和喜好进行扩展和改进。记得确保在对用户数据做任何操作之前进行适当的验证和错误处理,并定期备份数据以避免丢失。另外,界面美观、稳定性和运行效率等方面的要求可以通过使用相关的GUI库和优化技术来实现。 阅读详情

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

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

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

近期原创热门:

由菜鸟学Python原班人马打造的公众号【程序员GitHub】,专注于分享GitHub上有趣的资源包括,Python,Java,Go语言前端学习等优质的学习资源,爆料程序员圈的新鲜趣事,热门干货,职场感悟,感兴趣的小伙伴可以来捧场!

程序员GitHub

点的“在看”,否则就看不到我了555
完整版家庭在线记账理财管理系统 完整版家庭在线记账理财管理系统,一款实用和简洁的家庭管理系统,完整的源码。 立即下载

相关推荐

python-challenge:UCSD python家庭作业

Python挑战 UCSD-Python作业

PyQt6开发一个“手记”个人记账软件

可根据特定需求写PyQt+后端的程序,这个demo框架个人认为无论是初学还是老手,可以当做PyQt的架子使用,笔者在工作中积累了PyQt经验,由这个小项目搭建了一把,很过瘾。 目前开源的PyQt总感觉是小项目,架子太随意了,笔者平常也会写java,之前也用过flask,这算是一次融合把,把他应用到了PyQt开发中来。 主要功能和技术: (1)单笔(收入/支出) 记账, 包括记录金额、记录时间、记录分类、记录心情、记录备注;(2) 消费统计分析,包括分类饼状图、分类折线图、分类柱状图;

程序员象漂亮的博客 2054

STM32H7 Flash擦除后数据读取异常的缓存问题解析

本文深入分析了STM32H7系列芯片在Flash擦除后数据读取异常的缓存问题,揭示了由于数据缓存(D-Cache)和指令缓存(I-Cache)导致的数据一致性问题。通过详细的解决方案,包括手动维护缓存一致性和操作期间禁用缓存,帮助开发者有效解决这一常见但棘手的嵌入式开发难题。

weixin_29158413的博客 392

python3GUI--记账助手By:PyQt5(附下载地址)

本次使用PyQt5开发一款记账助手,支持登录注册、多账号、账单类型筛选、数据持久化、可视化,Let’s go!本次使用PyQt5开发了一款记账软件,这个项目非常适合学生来学习、练习数据库、PyQt。

懷淰メ的博客 1939

论文超详细精读|万字:2s-AGCN

1. 提出了一种新的双流自适应图卷积网络(2S-AGCN)用于基于骨架的动作识别。**模型中的图的拓扑既可以统一地学习,也可以通过BP算法以端到端的方式单独学习。** 2. 提出了一种同时对**一阶和二阶信息(骨架的长度与方向)建模的双流框架**,在识别精度上有了显著的提高。 它将骨架数据的图结构参数化,并嵌入到网络中,与模型共同学习和更新。 3. 文章主要创新点有两个,一个是双流网络,另外一个是自适应。

IanYue的博客 6382

2021-8-14 EDK II编译

2021-8-14 EDK II 编译为什么要写这篇文章新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 为什么要写这篇文章 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdo

qq_45775660的博客 2946

基于python的个人财务记账系统

基于python的个人财务记账系统

【可全包】本人程序员,不需要做任何吹嘘,只是实在写点程序,写点文档,熟悉各类主流框架,SSM,SpringBoot,Flask,Djiango,Mysql,Sqlite,VUE,Uniapp等,各类程序设计专家,优质作者 1602

物联网开发笔记(34)- 使用Micropython开发ESP32开发板之控制步进电机(28BYJ-48)

使用Micropython开发ESP32开发板之控制步进电机(28BYJ-48)

zhusongziye的博客 1万+

使用 Python 实现一个飞书/微信记账机器人,酷B了!

今天的主题是:使用Python联动飞书文档+机器人,实现一个专属的记账助手,这篇文章如果对你帮助极大,欢迎你分享给你的朋友、她、他,一起成长。也欢迎大家留言,说说自己想看什么主题的Python文章,留言越具体,我写的越快,比如留言:我想看Python 自动操作Excel 相关文章。开通消息事件之前,需要先在服务器部署一个简单 web 服务用于接收消息,如下图,没啥特别要求,用 flask 快速写一个简单的代码,如下,,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

程序员小麦的博客 2373

详解Pytorch求导

本文主要详解Pytorch求导,希望能对学习Pytorch的同学有所帮助。 文章目录 1. pytorch求导问题 2. pytorch三大类求导代码示例 2.1 标量求导 2.2 向量求导&矩阵求导

weixin_43178406的博客 3072

mjlab & MimicKit 宇树 G1 人形机器人强化学习训练部署

基于mjlab框架训练Unitree G1人形机器人执行双旋踢的示例。参考动作源自Jason Peng的MimicKit项目。数据转换脚本(MimicKit pkl → mjlab csv)完整训练结果与超参数预训练ONNX检查点用于部署实体硬件部署指南⚠️ 免责声明仅用于教育目的。对于因尝试复现此处展示结果而导致的财产损失或人身伤害,我们概不负责。操作硬件时请谨慎行事并保持良好判断力。

2506_90492529的博客 1700

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

原标题:菜鸟也疯狂!8分钟用Python做一个酷炫的家庭随手记每个月都有各种各样的开销,不当家不知道柴米贵呀!柴米油盐酱醋茶样样都要开销,吃的穿的,各种开销,每个月都没有啥结余,小编月初是富人,月底就光了。 都说理财从记账开始,小编我用过很多记账软件,但是都不是很好用,对我来说太复杂了。个人喜欢极其简单的Todolist那种风格,于是我喜欢开始用文本来记录每个月的开销,小编的开销如下:账单:6月1...

weixin_39679061的博客 782

(四) OpenClaw-Skill技能全面了解和自定义技能

OpenClaw Skills是提升AI代理功能性的关键模块。本文系统介绍了Skills的核心概念、获取渠道和创建方法。Skills作为标准化指令集合,能让OpenClaw从单纯理解升级为实际执行任务,相比传统System Prompt具有模块化、可复用等优势。用户可通过Clawhub官方商店、GitHub社区等渠道获取5700+现成技能,或按需开发自定义Skill。文章详细演示了创建"Hello World"示例技能的完整流程,包括编写Python脚本、配置SKILL.md文件、部署。

直到世界的尽头 8293

菜鸟python_菜鸟青铜变白银!Python 项目代码写完了,然后怎么打包和发布?

你把你的代码写完了,是不是要给别人使用下,怎么打包你的项目代码呢?喂,开源么?接下来小帅b就跟你说说,如何打包你的代码。就拿我们上次演示的todo为例,写完代码之后,代码的目录是这样的:在 todo 这个目录里面,文件都放在一起了,我们可以这样简单划分一下:这里创建了一个 package 目录,将源码文件放进去,然后把模板文件和数据库文件分门别类的安排好。在 package 中,还创...

weixin_36076139的博客 119

【keil5和STC-ISP】保姆级下载安装教程

点击下载中的产品下载。然后就会看到如下界面:可以看到,提供了针对不同芯片架构的四套独立开发工具。:你使用的51单片机,其核心就是。C51套件里的编译器是专门为这个架构优化的。:如果安装了MDK-Arm,你在创建新项目时将像“AT89C51”这样的51系列芯片型号,无法进行开发。进入如下界面:双击下载 → 双击运行安装 → 同意协议并下一步 → 使用默认安装路径 → 完成安装。

深耕CV 1635

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

再见HTML ! 用纯Python就能写一个漂亮的网页

我们在写一个网站或者一个网页界面的时候,需要学习很多东西,对小白来说很困难!比如我要做一个简单的网页交互:要懂后端,比如Python里面的Django或者Flask,或者是Java里面的...

cainiao_python的博客 2万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

乘风破浪的程序员哥哥们!

近期十大热门: 我总结的80页《菜鸟学Python精选干货.pdf》,都是干货笑喷了,我用Python帮韦小宝选最佳老婆组合用Python一键生成炫酷九宫格图片,火了朋友圈菜鸟也疯狂!8...

cainiao_python的博客 336

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

熬了一夜!我用Python做了一个网站,帮小姐姐生成漫画头像

公众号关注“菜鸟学Python”设为 “星标”,每天看趣味Python干货!对于动漫,大家一定都不陌生,小编周围的不少单身码农都是动漫迷。小编也是一个资深动漫迷,动漫里面有好多漂亮的小...

cainiao_python的博客 3686

菜鸟来也!50行Python代码一键整理桌面

我的老同学小马忙于找工作,整天被各种照片信息,和面试笔试资料搞的焦头烂额,很多文件来不及处理,全部都堆放在了一起,久而久之,就造成了桌面非常的混乱,如下图所示:乱糟糟的桌面,让心情也会潜...

cainiao_python的博客 1063

python登录界面代码_懒人专用!十行Python代码即可生成GUI界面

有过tkinter使用经验的朋友们都会感叹,用tk控件来设计一个优美的界面,真的好难啊!既要让界面漂亮,又要让设计好每个控件的大小合适,还要兼顾每个控件的摆放位置,费时费力非常的繁琐。小编在浏览网页的时候,突然发现一个GUI神器,叫做Gooey,号称能把任何控制台应用程序转换为非常美观的的GUI应用程序。获赞9000颗星,非常厉害。1如何安装对于Gooey的安装非常的方便,大家只需要...

weixin_39966909的博客 363

机房布线的最高境界 | 最后的暗黑系,真是亮瞎眼

点击上方“菜鸟学Python”,选择“星标”公众号重磅干货,第一时间送达来自公众号:鲜枣课堂图片来自网络蓝色系黄色系绿色系青色系紫色系橙色系混色系黑暗系。。。今日留言主题你布过网线吗...

cainiao_python的博客 263

嘿嘿!我用Python做了个孙悟空玩转如意金箍棒

马上暑假就要到了,很多小朋友也要放假啦。暑假里最熟悉的电视节目,非《西游记》莫属了,对于这部电视剧,想必大家不会陌生,小编最喜欢的就是孙悟空手里的如意金箍棒,此棒重一万三千五百斤,可自由...

cainiao_python的博客 3037

python 检测网页输入框并输入_So easy !用 Python 开发一个todolist

有一句话是这样说的:“凡事预则立,不预则废”,说的是我们在做事之前,最好制定好你的计划,然后有序的去执行,这样不会产生过多的错误和不爽,如果什么都不准备的话,人就容易废掉。今天,你废了么?为了让我们不要那么快的废掉,要不我们用 Python 来写一个网页版的 todolist, 然后在里面制定自己的计划怎么样?可能你会想到像这种简单一些的网页交互,可以用 Flask 来实现,不过小帅b今...

weixin_42523792的博客 753

python 如何判断一个函数执行完成_菜鸟来也!50行Python代码一键整理桌面

我的老同学小马忙于找工作,整天被各种照片信息,和面试笔试资料搞的焦头烂额,很多文件来不及处理,全部都堆放在了一起,久而久之,就造成了桌面非常的混乱,如下图所示:乱糟糟的桌面,让心情也会潜移默化的变得烦躁,更重要的是,它会让我们的工作效率变的非常的低下,我们往往会想找某个文件,但是太多太杂乱的桌面往往让我们找起来变得非常的缓慢。01动手撸代码小马是个Python菜鸟,最近准备学Python...

weixin_39526564的博客 394
上一篇: GitHub又放大招,Python版本的植物大战僵尸还能作弊玩!
下一篇: 学计算机的女生,是一种怎样的存在?
菜鸟学Python
博客等级 码龄9年 8029粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值