Skip to content

lizhengxiao/Python-Course-Design

Repository files navigation

Python 课程设计

本项目包含 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              # 使用说明

🚀 使用方法

1. 安装环境

  • Python 版本 ≥ 3.8
  • 安装必要依赖(仅 Task7 需要 matplotlib):
    pip install matplotlib

2. 初始化数据

运行一次 generate_data.py 自动生成 data/ 文件夹和示例数据:

python generate_data.py

3. 运行任务程序

例如运行 Task1(职工管理系统):

python task1_employee.py

📘 各任务说明

Task1 职工信息管理系统

  • 功能:新增员工、浏览、查询、删除、统计平均工资
  • 数据文件: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
    

Task2 学生成绩管理系统

  • 功能:录入成绩、浏览成绩、查询成绩、统计平均分
  • 数据文件:data/grade.csv
  • 示例数据:
    sid,name,course,score
    2023001,张三,数学,88
    2023001,张三,英语,75
    2023002,李四,数学,92
    2023002,李四,英语,81
    
  • 示例运行:
    1录入 2浏览 3查询 4统计平均分 0退出
    选择: 4
    平均分: 84.0
    

Task3 通讯录管理系统

  • 功能:新增联系人、浏览、查询、删除
  • 数据文件: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
    

Task4 银行存取款模拟系统

  • 功能:开户、存款、取款、查询余额
  • 数据文件:data/bank.json
  • 示例数据:
    [
      {"acc": "2001", "name": "张三", "bal": 3000},
      {"acc": "2002", "name": "李四", "bal": 5000}
    ]
  • 示例运行:
    1开户 2存款 3取款 4查询余额 0退出
    选择: 2
    账号: 2001
    存款金额: 500
    存款成功,新余额: 3500.0
    

Task5 学生日常开销记账

  • 功能:新增开销、浏览记录、统计类别开销
  • 数据文件: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
    

Task6 简易计算器

  • 功能:输入四则运算表达式,自动计算结果
  • 示例运行:
    简易计算器: 输入 'exit' 退出
    输入表达式(如 3+5 或 9/2): 3+7*2
    结果: 17
    输入表达式(如 3+5 或 9/2): exit
    

Task7 成绩可视化小工具

  • 功能:绘制成绩直方图
  • 依赖:matplotlib
  • 数据文件:data/grade.csv
  • 示例运行:
    python task7_chart.py
    将弹出直方图窗口:横轴为分数,纵轴为人数,标题为“成绩分布直方图”。

Task8 猜数字游戏

  • 功能:系统随机生成 1–100 的数字,用户反复猜直到正确
  • 示例运行:
    猜数字游戏:1~100之间
    输入你的猜测: 50
    太小了
    输入你的猜测: 80
    太大了
    输入你的猜测: 73
    恭喜,猜对了!总共尝试: 3 次
    

🎯 学习目标

  • 熟悉 Python 基础语法输入输出
  • 掌握 CSV/JSON 文件读写
  • 学习 字典/列表操作
  • 理解 循环和条件判断
  • 初步应用 数据可视化 (matplotlib)
  • 增强 动手实践能力

👨‍🏫 建议的课堂安排

  • 第 17 周:下发任务 → 分组 → 分工 → 查找资料
  • 第 18 周:完成系统开发与测试 → 提交报告与答辩

About

Python 程序设计课程

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages