青岛seo网站排名优化,江阴做网站的地方,产品网页设计公司,爱奇艺号自媒体平台注册------------★Python练手项目源码★------------
Python项目源码20#xff1a;银行管理系统#xff08;开户、查询、取款、存款、转账、锁定、解锁、退出#xff09;
Python项目19#xff1a;学员信息管理系统#xff08;简易版#xff09;
Python项目18#xff1a;…------------★Python练手项目源码★------------
Python项目源码20银行管理系统开户、查询、取款、存款、转账、锁定、解锁、退出
Python项目19学员信息管理系统简易版
Python项目18使用Pillow模块随机生成4位数的图片验证码
Python项目17教你制作一副帅气的春联
Python项目16教你使用pillow把女神的图片添加表白文字。
Python项目15Pygame制作新年动态烟花
Python项目14使用random模拟扑克牌发牌猜单词游戏
Python项目12破解zip压缩包的密码
Python项目10使用Tkinter批量新建文件夹
Python项目09使用filestools模块批量添加图片水印
Python项目08用pywin32在聊天窗口发送QQ好友/群消息
Python小项目07pywin32实现自动写文字到记事本
Python小项目05模拟微信发送好友/群消息
Python小项目05使用pywifi模块暴力破解WIFI密码 亲测有效
Python经典小游戏02字母数字代码雨
这是一个简单的记账程序可以记录收入和支出以及查询收支记录。程序运行时会首先检查数据文件account.data是否存在如果不存在则创建并初始化数据。然后进入一个循环等待用户输入并执行相应的功能直到用户选择退出。注意程序使用了pickle模块来序列化和反序列化数据以便将数据保存在文件中。数据文件是一个二进制文件包含了一个收支记录的列表每个记录是一个包含日期、支出、收入、余额和说明的列表。程序的主要功能包括 cost函数记录支出用户输入支出金额和说明然后将记录追加到文件中。 save函数记录收入用户输入收入金额和说明然后将记录追加到文件中。 query函数查询收支记录打印出所有记录。 keep_accounts函数主程序根据用户输入执行相应的功能包括开销、收入、查询和退出。
# -*- coding:utf-8 -*-
# Author : 小红牛
# 微信公众号WdPython
import pickle
import time
import os# 1.记录开销
def cost(fname):用于记录花费cost_time time.strftime(%Y-%m-%d)try: # 异常处理机制cost_deposit int(input(花销金额:))cost_mark input(花销说明:)except ValueError:print(无效的金额)return # 函数的return类似于循环的breakreturn提前结束函数。except (KeyboardInterrupt, EOFError):print(\nbye-bye)exit(1)# 在文件中取出所有的收支记录with open(fname, rb) as f:records pickle.load(f)# 计算最新余额balance records[-1][-2] - cost_deposit# 构建最新一笔收入record [cost_time, 0, cost_deposit, balance, cost_mark]# 将收入追加到收支列表中records.append(record)# 将最新收支情况写入文件with open(fname, wb) as fobj:pickle.dump(records, fobj)# 2.收入
def save(fname):save_time time.strftime(%Y-%m-%d)try:save_deposit int(input(收入金额:))save_mark input(收入说明:)except ValueError:print(无效的金额)returnexcept (KeyboardInterrupt, EOFError):print(bye-bye)exit(1)with open(fname, rb) as fobj:records pickle.load(fobj)balance records[-1][-2] save_depositrecord [save_time, save_deposit, 0, balance, save_mark]records.append(record)with open(fname, wb) as fobj:pickle.dump(records, fobj)# 3.查询
def query(fname):# 用于查账# 打印表头标题print(f{date:15}{save:8}{cost:8}{balance:12}{mark:50})with open(fname, rb) as f:records pickle.load(f)for date, cost, save, balance, mark in records:print(f{date:15}{cost:8}{save:8}{balance:12}{mark:50})# 4.主程序
def keep_accounts():funcs {0: cost, 1: save, 2: query}prompt *****************
(0)开销
(1)收入
(2)查询
(3)退出
*****************
请选择0/1/2/3:fname account.dataif not os.path.exists(fname):init_data [[time.strftime(%Y-%m-%d), 0, 0, 0, 默认]]with open(fname, wb) as f:pickle.dump(init_data, f)while True:try:choice input(prompt).strip()except(KeyboardInterrupt, EOFError):choice 3if choice not in [0, 1, 2, 3]:print(输入的数字无效请重试)continueif choice 3:print(已经退出欢迎再次使用)break# 执行相应的功能funcs[choice](fname)keep_accounts()完毕感谢您的收看
----------★★历史博文集合★★----------
我的零基础Python教程Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具 NumPy Pygame