本项目包含 8 个独立的 Python 小系统/小游戏,涵盖 文件操作 (CSV/JSON)、数据存储、数据可视化 和 交互式编程 等知识点,适合作为专科/本科生课程设计实践项目。
Python课程设计/
│
├── data/ # 存放数据文件
│ ├── employee.csv # Task1 职工信息
│ ├── grade.csv # Task2 学生成绩
│ ├── contacts.json # Task3 通讯录
│ ├── bank.json # Task4 银行账户
│ ├── expense.csv # Task5 日常开销
│
├── task1_employee.py # 员工管理系统
├── task2_grade.py # 学生成绩管理
├── task3_contacts.py # 通讯录管理
├── task4_bank.py # 银行存取款模拟
├── task5_expense.py # 学生日常开销记账
├── task6_calc.py # 简易计算器
├── task7_chart.py # 成绩可视化
├── task8_guess.py # 猜数字游戏
├── generate_data.py # 初始化示例数据
└── README.md # 使用说明
- Python 版本 ≥ 3.8
- 安装必要依赖(仅 Task7 需要
matplotlib
):pip install matplotlib
运行一次 generate_data.py
自动生成 data/
文件夹和示例数据:
python generate_data.py
例如运行 Task1(职工管理系统):
python task1_employee.py
- 功能:新增员工、浏览、查询、删除、统计平均工资
- 数据文件:
data/employee.csv
- 示例数据:
id,name,sex,age,salary 1001,张三,M,28,5000 1002,李四,F,35,6200 1003,王五,M,45,7000 1004,赵六,F,30,4800
- 示例运行:
1新增 2浏览 3查询 4删除 5平均工资 0退出 选择: 2 工号:1001 姓名:张三 性别:M 年龄:28 工资:5000 工号:1002 姓名:李四 性别:F 年龄:35 工资:6200
- 功能:录入成绩、浏览成绩、查询成绩、统计平均分
- 数据文件:
data/grade.csv
- 示例数据:
sid,name,course,score 2023001,张三,数学,88 2023001,张三,英语,75 2023002,李四,数学,92 2023002,李四,英语,81
- 示例运行:
1录入 2浏览 3查询 4统计平均分 0退出 选择: 4 平均分: 84.0
- 功能:新增联系人、浏览、查询、删除
- 数据文件:
data/contacts.json
- 示例数据:
[ {"name": "张三", "phone": "13800138000", "email": "zhangsan@example.com"}, {"name": "李四", "phone": "13900139000", "email": "lisi@example.com"}, {"name": "王五", "phone": "13700137000", "email": "wangwu@example.com"} ]
- 示例运行:
1新增 2浏览 3查询 4删除 0退出 选择: 2 姓名:张三 电话:13800138000 邮箱:zhangsan@example.com 姓名:李四 电话:13900139000 邮箱:lisi@example.com
- 功能:开户、存款、取款、查询余额
- 数据文件:
data/bank.json
- 示例数据:
[ {"acc": "2001", "name": "张三", "bal": 3000}, {"acc": "2002", "name": "李四", "bal": 5000} ]
- 示例运行:
1开户 2存款 3取款 4查询余额 0退出 选择: 2 账号: 2001 存款金额: 500 存款成功,新余额: 3500.0
- 功能:新增开销、浏览记录、统计类别开销
- 数据文件:
data/expense.csv
- 示例数据:
date,type,amt,note 2023-06-01,餐饮,25,早餐 2023-06-01,交通,3,公交车 2023-06-02,学习,120,买书 2023-06-02,餐饮,45,晚餐
- 示例运行:
1记一笔 2浏览记录 3统计类别开销 0退出 选择: 3 餐饮 : 70.0 交通 : 3.0 学习 : 120.0
- 功能:输入四则运算表达式,自动计算结果
- 示例运行:
简易计算器: 输入 'exit' 退出 输入表达式(如 3+5 或 9/2): 3+7*2 结果: 17 输入表达式(如 3+5 或 9/2): exit
- 功能:绘制成绩直方图
- 依赖:
matplotlib
- 数据文件:
data/grade.csv
- 示例运行:
将弹出直方图窗口:横轴为分数,纵轴为人数,标题为“成绩分布直方图”。
python task7_chart.py
- 功能:系统随机生成 1–100 的数字,用户反复猜直到正确
- 示例运行:
猜数字游戏:1~100之间 输入你的猜测: 50 太小了 输入你的猜测: 80 太大了 输入你的猜测: 73 恭喜,猜对了!总共尝试: 3 次
- 熟悉 Python 基础语法、输入输出
- 掌握 CSV/JSON 文件读写
- 学习 字典/列表操作
- 理解 循环和条件判断
- 初步应用 数据可视化 (matplotlib)
- 增强 动手实践能力
- 第 17 周:下发任务 → 分组 → 分工 → 查找资料
- 第 18 周:完成系统开发与测试 → 提交报告与答辩