python的小型实践项目

🎓 学生成绩管理系统(Python 控制台版)

功能:
  1. 添加学生信息(姓名、学号、成绩)
  2. 查看所有学生信息
  3. 根据学号或姓名查找学生
  4. 修改学生成绩
  5. 删除学生信息
  6. 统计平均分、最高分、最低分
  7. 退出系统

✅ 项目代码:

学生成绩管理系统

students = \[\] # 全局列表存储学生信息,每个学生是一个字典

def add_student():

"""添加学生"""

name = input("请输入学生姓名: ")

student_id = input("请输入学生学号: ")

检查学号是否已存在

for s in students:

if s'学号' == student_id:

print("❌ 学号已存在!")

return

try:

score = float(input("请输入学生成绩: "))

if score < 0 or score > 100:

print("⚠️ 成绩应在0-100之间!")

return

except ValueError:

print("❌ 输入的成绩无效,请输入数字!")

return

student = {

'姓名': name,

'学号': student_id,

'成绩': score

}

students.append(student)

print(f"✅ 学生 {name} 添加成功!")

def view_all_students():

"""查看所有学生"""

if not students:

print("📭 暂无学生信息。")

return

print("\n" + "="*50)

print("所有学生信息:")

print("="*50)

for s in students:

print(f"姓名: {s'姓名'}, 学号: {s'学号'}, 成绩: {s'成绩'}")

print("="*50)

def search_student():

"""查找学生"""

if not students:

print("📭 暂无学生信息。")

return

keyword = input("请输入要查找的姓名或学号: ")

found = False

for s in students:

if keyword == s'姓名' or keyword == s'学号':

print(f"🔍 找到学生: 姓名: {s'姓名'}, 学号: {s'学号'}, 成绩: {s'成绩'}")

found = True

if not found:

print("❌ 未找到该学生。")

def update_student():

"""修改学生成绩"""

if not students:

print("📭 暂无学生信息。")

return

student_id = input("请输入要修改的学生学号: ")

for s in students:

if s'学号' == student_id:

try:

new_score = float(input(f"当前成绩为 {s'成绩'},请输入新成绩: "))

if new_score < 0 or new_score > 100:

print("⚠️ 成绩应在0-100之间!")

return

s'成绩' = new_score

print("✅ 成绩更新成功!")

except ValueError:

print("❌ 输入无效!")

return

print("❌ 未找到该学生。")

def delete_student():

"""删除学生"""

if not students:

print("📭 暂无学生信息。")

return

student_id = input("请输入要删除的学生学号: ")

for i, s in enumerate(students):

if s'学号' == student_id:

confirm = input(f"确定要删除学生 {s'姓名'} 吗?(y/n): ")

if confirm.lower() == 'y':

students.pop(i)

print("✅ 学生删除成功!")

else:

print("❌ 取消删除。")

return

print("❌ 未找到该学生。")

def show_statistics():

"""显示统计信息"""

if not students:

print("📭 暂无学生成绩数据。")

return

scores = s\['成绩' for s in students]

avg_score = sum(scores) / len(scores)

max_score = max(scores)

min_score = min(scores)

print("\n📊 成绩统计:")

print(f"总人数: {len(students)}")

print(f"平均分: {avg_score:.2f}")

print(f"最高分: {max_score}")

print(f"最低分: {min_score}")

def main():

"""主菜单"""

print("🎓 欢迎使用学生成绩管理系统")

while True:

print("\n" + "-"*40)

print("请选择功能:")

print("1. 添加学生")

print("2. 查看所有学生")

print("3. 查找学生")

print("4. 修改学生成绩")

print("5. 删除学生")

print("6. 显示统计信息")

print("7. 退出系统")

choice = input("请输入选项 (1-7): ")

if choice == '1':

add_student()

elif choice == '2':

view_all_students()

elif choice == '3':

search_student()

elif choice == '4':

update_student()

elif choice == '5':

delete_student()

elif choice == '6':

show_statistics()

elif choice == '7':

print("👋 感谢使用,再见!")

break

else:

print("❌ 无效输入,请重新选择。")

if name == "main":

main()


🔧 如何运行?

  1. 将上述代码保存为 student_grade_system.py

  2. 在终端运行:

    复制代码
    python student_grade_system.py

💡 项目扩展建议(进阶练习):

  • 使用文件(如 students.txt 或 JSON)持久化保存数据
  • 支持多门课程成绩(如语文、数学)
  • 使用类(StudentGradeSystem)重构代码
  • 添加图形界面(Tkinter 或 PyQt)
  • 排序功能:按成绩排序显示

这个项目涵盖了输入输出、循环、条件判断、列表和字典操作等基础知识点。

相关推荐
专注仿真31 分钟前
问答大模型技术方案算法实现-RAPTOR树构建算法与BEG集成使用
python·算法
冯汉栩1 小时前
Swift Control View,Label渐变颜色(源码)
开发语言·ios·swift
从小就看凹凸曼^o^2 小时前
Python基础5 - 字典与集合:(1)字典
开发语言·python
Herbert_hwt2 小时前
第七章 Java深入理解枚举类型
java·开发语言·算法
侧耳倾听1112 小时前
java 日志框架简介
java·开发语言
小赵AI手记2 小时前
技术拆解(十七)具身智能:机器人动作生成为何走向Diffusion Policy?
人工智能·笔记·python·机器人
本地化文档3 小时前
poethepoet-docs-l10n
python·github·gitcode·sphinx
baopixiaoz3 小时前
AI量化策略师|Web3 量化交易研究员
大数据·人工智能·python·区块链
zlinear数据采集卡3 小时前
数据采集卡从入门到精通(9):分辨率与精度——16位卡不等于1/65536的精度
开发语言·数据库·fpga开发·开源·c#
全栈技术负责人3 小时前
解密 MCP(Model Context Protocol):大模型时代的“Type-C”总线与三驾马车架构深度解析
开发语言·ai·架构