【python】python生活管理费系统(源码+论文)【独一无二】

news2025/6/24 6:25:12

请添加图片描述


👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化【获取源码+商业合作】
👉荣__誉👈:阿里云博客专家博主、51CTO技术博主
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。


【python】python生活管理费系统(源码+论文)【独一无二】


目录

  • 【python】python生活管理费系统(源码+论文)【独一无二】
  • 一、设计要求
  • 二、设计思路
    • 1)打印模式模块
    • 2)模式选择模块
    • 3)增加费用模块
    • 4)支出列表模块
    • 5)明细查询模块
    • 6)统计信息模块


一、设计要求

根据日常使用需求,做了一个生活管理费系统程序主要实现新增指出明细、打印列表、查询某项目明细、查看统计信息和退出功能。
通过读取fee.txt来读取和存储自己的费用明细。采用字典+二维列表的形式对数据进行存储。


二、设计思路

在这里插入图片描述

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 消费 ” 获取,拿来即用,只回复文字哦。👈👈👈

1)打印模式模块

打印各个功能模块增加费用、支出列表、查询明细、统计信息。用于后续选择模式模块。

def print_msg(self):
    print('{}\n1. 增加费用\n2. 支出列表\n3. 查询明细\n4. 统计信息\n{}'.
          format('*' * 20, '*' * 20))

在这里插入图片描述

2)模式选择模块

主函数模块通过让用户选择模块的方式,对用户输入的模式编号进行判断,进而调用某个功能。

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 消费 ” 获取,拿来即用,只回复文字哦。👈👈👈

def main(self):
    while True:
        self.print_msg()
        n = input("请输入您要选用的功能(0退出):")
    	# 代码略(至少十行)... 
		# 代码略(至少十行)... 
            break
        else:
            print("输入不正确,请重新输入。", end='')

在这里插入图片描述

3)增加费用模块

通过打印提示信息(生活支出、学习用品、其他支出),让用户输入选择的所要增加的费用类型,主要包括支出类型、支出明细、支出金额、指出时间。通过输入上述内容引导用户输入,最后存储在fee.txt中

def add_expense(self):
    file = eval(read_file())
    fee_type = {1: '生活支出', 2: '学习用品', 3: '其他支出'}
    print("请选择支出明细名称:")
    for key, value in fee_type.items():
        print(key, value)
    fee_name = input("请选择支出类型编号:")
    fee_mc = input("请输入支出明细:")
    fee = float(input("请输入支出金额:"))
    fee_time = input("请输入支出时间:")
    if fee_name == '1':
        if '生活支出' not in file:
            file['生活支出'] = [[fee_mc, fee, fee_time]]
        else:
            file['生活支出'].append([fee_mc, fee, fee_time])

    	# 代码略(至少十行)... 
		# 代码略(至少十行)... 

    save_file(file)

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 消费 ” 获取,拿来即用,只回复文字哦。👈👈👈

在这里插入图片描述

4)支出列表模块

通过读取fee.txt文件,读取存储的内容,打印所有的支出信息,明细名称、支出金额、支出日期。

def print_detail_list(self):
    file = eval(read_file())
    for tp, va in file.items():
        for value in va:
            if tp == '生活支出':
    	# 代码略(至少十行)... 
		# 代码略(至少十行)... 

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 消费 ” 获取,拿来即用,只回复文字哦。👈👈👈

在这里插入图片描述

5)明细查询模块

通过引导用户选择生活支出、学习用品、其他支出模块,选择要统计的支出明细编号。通过读取fee.txt文件,读取存储的内容,打印所有的支出信息,明细名称、支出金额、支出日期。最终打印出消费总额。

def search_detail(self):
    file = eval(read_file())
    fees = 0

    print("欢迎使用明细查询:")
    	# 代码略(至少十行)... 
		# 代码略(至少十行)... 
        print("明细名称:{} 支出金额:{} 支出日期:{}".format(name, fee, time))
        fees += fee
    print("{}消费总额为{}元".format(fee_type[int(n)], fees))

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 消费 ” 获取,拿来即用,只回复文字哦。👈👈👈

在这里插入图片描述

6)统计信息模块

通过读取fee.txt文件,读取存储的内容,打印所有的支出信息,明细名称、支出金额、支出日期。最终打印出消费总额。并计算统计金额所占用的百分比,并保存2位小数。

def print_static(self):
    file = eval(read_file())
    life_fee = 0
    study_fee = 0
    other_fee = 0
    	# 代码略(至少十行)... 
		# 代码略(至少十行)... 
    print("生活费用总额:{}元, 占总费用的:{:.2f}%".format(life_fee, (life_fee / (life_fee + study_fee + other_fee)) * 100))
    print("学习费用总额:{}元, 占总费用的:{:.2f}%".format(study_fee, (study_fee / (life_fee + study_fee + other_fee)) * 100))
    print("其他费用总额:{}元, 占总费用的:{:.2f}%".format(other_fee, (other_fee / (life_fee + study_fee + other_fee)) * 100))

在这里插入图片描述

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 消费 ” 获取,拿来即用,只回复文字哦。👈👈👈


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1954513.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python爬虫入门01:在Chrome浏览器轻松抓包

文章目录 爬虫基本概念爬虫定义爬虫工作原理爬虫流程爬虫类型爬虫面临的挑战 使用Chrome浏览器抓包查看网页HTML代码查看HTTP请求请求头(Request Header)服务器响应抓包的意义 爬虫基本概念 爬虫定义 爬虫(Web Crawler 或 Spider&#xff0…

【JavaEE初阶】线程安全(重点)

目录 📕 线程安全的概念 🎄 观察线程不安全 🌳 线程不安全的原因 🚩 原因: 🌲解决之前的线程不安全问题 🚩 synchronized 关键字 📕 线程安全的概念 如果多线程环境下…

前端面经1

1、js是单线程还是多线程? 单线程执行。一次只能执行一个任务,处理任务的方式是通过一个任务队列(也称为消息队列)来实现的。如果某个操作(如网络请求或定时器)需要花费较长时间才能完成,它不会…

Flink SQL 的工作机制

前言 Flink SQL 引擎的工作流总结如图所示。 从图中可以看出,一段查询 SQL / 使用TableAPI 编写的程序(以下简称 TableAPI 代码)从输入到编译为可执行的 JobGraph 主要经历如下几个阶段: 将 SQL文本 / TableAPI 代码转化为逻辑执…

如何保证前后端交互信息不被篡改。

先说说前后端有哪些认证方式来保证: 基于 session 的认证方式:前端在用户登录成功后,后端会在服务器端生成一个唯一的 session ID,并将该 session ID 返回给前端,在后续的请求中,前端需要带上该 session ID…

【漏洞复现】蓝凌OA——远程命令执行

声明:本文档或演示材料仅供教育和教学目的使用,任何个人或组织使用本文档中的信息进行非法活动,均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现 漏洞描述 蓝凌OA平台,数字化向纵深发展,正加速构建产业互联…

图解分布式事务中的2PC与Seata方案

文章目录 文章导图什么是2PC解决传统2PC方案XA方案DTP模型举例:新用户注册送积分总结: Seata方案设计思想执行流程举例:新用户注册送积分 Seata实现2PC事务(AT模式)前提整体机制写隔离读隔离实际案例理解要点说明核心代…

自动驾驶-机器人-slam-定位面经和面试知识系列06之C++STL面试题(02)

这个博客系列会分为C STL-面经、常考公式推导和SLAM面经面试题等三个系列进行更新,基本涵盖了自己秋招历程被问过的面试内容(除了实习和学校项目相关的具体细节)。在知乎和牛客(某些文章上会附上内推码)也会同步更新&a…

锅总详解开源组织之ASF

ASF是什么?ASF孵化的顶级项目有哪些?ASF顶级项目商用化有哪些?涉及的版权是什么?应用案例有哪些?衍生项目及其关联是什么?希望本文能帮您解答这些疑惑! 一、ASF简介 Apache Software Foundati…

Java从入门到精通 (十一) ~ 操作系统、进程和线程

无论做什么,请记住都是为你自己而做,这样就毫无怨言!今天,我为自己而活!今天,又是美丽的一天!早安,朋友! 目录 前言 一、操作系统 1. 概念 2. 操作系统的基本功能 3…

Mindspore框架循环神经网络RNN模型实现情感分类|(五)模型训练

Mindspore框架循环神经网络RNN模型实现情感分类 Mindspore框架循环神经网络RNN模型实现情感分类|(一)IMDB影评数据集准备 Mindspore框架循环神经网络RNN模型实现情感分类|(二)预训练词向量 Mindspore框架循环神经网络RNN模型实现…

Ubuntu上编译多个版本的frida

准备工作 Ubuntu20(WSL) 略 安装依赖 sudo apt update sudo apt-get install build-essential git lib32stdc-9-dev libc6-dev-i386 -y nodejs 去官网[1]下载nodejs,版本的话我就选的20.15.1: tar -xf node-v20.15.1-linux-x64.tar.xz 下载源码 …

科研论文之Word论文编辑

这篇文章介绍在word中怎么编辑论文,包括论文的模板、论文的字体设置、论文的插图、论文的参考文献等等。 为便利知识传播,我的所有文章都不会设置收费专栏。但文章写作不易,如有可能麻烦打赏一下,金额随意。收款码见下图&#xff…

Ubuntu下手动部署Java项目

1.1 打包项目上传至Ubuntu 1.2 java -jar 项目压缩包 1.3 确认防火墙打开 1.4 令进程在后台运行 nohup java -jar boot工程.jar &> hello.log & 1.5 停止项目运行 查看进程号,杀掉进程

基于微信小程序+SpringBoot+Vue的刷题系统(带1w+文档)

基于微信小程序SpringBootVue的刷题系统(带1w文档) 基于微信小程序SpringBootVue的刷题系统(带1w文档) 本系统是将网络技术和现代的管理理念相结合,根据试题信息的特点进行重新分配、整合形成动态的、分类明确的信息资源,实现了刷题的自动化,…

axure制作切换栏--动态面板的应用

先看下效果:点击上面的切换栏 切换到西游记栏目: 切换到水浒传栏目: 上述两个图片比对可以发现,在点击切换栏的时候,里面的内容以及切换栏的下面蓝色横线也会发生对应的变化。这里涉及到两个地方的变化,就…

VirtualBox虚拟机安装,Ubuntu iso 镜像下载

利用VirtualBox,在Windows主机上装Ubuntu的虚拟机 视频教程在这: Virtualbox虚拟机安装,Ubuntu iso镜像下载_哔哩哔哩_bilibili 一、Ubuntu iso 镜像下载 我们是要在Windows主机上装Ubuntu的虚拟机,下载下Ubuntu iso 镜像。下…

react中如何避免父子组件同时渲染(memo的使用)

1.需求说明 react的渲染机制是父子组件同时渲染,不管子组件是否有变化只要父组件重新渲染了子组件就跟着重新渲染。为了避免不必要的消耗,我们可以使用memo钩子函数 2.使用memo前展示 import { memo,useState } from "react"function Son()…

【03】Java虚拟机是如何加载Java类的

从class文件到内存中的类,按先后顺序需要经过加载、链接以及初始化三个步骤 一、加载 加载就是查找字节流,并且据此创建类的过程。 除了启动类加载器(所有类加载器的祖师爷,由C实现,没有对应的Java对象)之外…