news 2026/4/25 3:11:12

python的小型实践项目

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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)
  • 排序功能:按成绩排序显示

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 17:22:27

Windows系统文件tquery.dll丢失损坏 免费下载方法

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/4/19 13:58:21

Windows系统文件ulib.dll丢失损坏 下载修复

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/4/16 13:24:30

加速AI进产业,百度伐谋发布同舟生态伙伴计划

1分钟完成曾需10小时的汽车风阻验证&#xff0c;将数周的科研课题攻关压缩至数小时&#xff0c;十倍级提升科研效率……12月25日&#xff0c;在百度AI Day活动上&#xff0c;百度公布超级智能体百度伐谋的最新进展&#xff1a;发布一个月以来&#xff0c;已有超2000家企业申请试…

作者头像 李华
网站建设 2026/4/23 17:30:07

CAN软件哪款好用?虹科HK-CoreTest PK PCAN-View

在汽车电子开发与测试中&#xff0c;选择一款高效、易用的CAN测试软件至关重要。面对市场上众多工具&#xff0c;工程师常纠结于“CAN测试软件哪款比较好用&#xff1f;”本文将从功能、易用性、兼容性等维度&#xff0c;对比国际主流工具&#xff08;如PCAN-View&#xff09;与…

作者头像 李华
网站建设 2026/4/22 18:28:31

微信小程序uniapp-vue校园二手商城交易积分兑换38gw6

文章目录 具体实现截图主要技术与实现手段系统设计与实现的思路系统设计方法java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 具体实现截图 本系统&#xff08;程序源码数据库调试部署讲解&#xff09;带文档1…

作者头像 李华