当前位置: 首页 > news >正文

[Python 基础课程]学生语文成绩录入和查询需求

编写一个 Python 程序,可以支持让用户录入学生的姓名和学习成绩,根据学生姓名查询语文成绩,查询已经录入的学生的语文成绩最高分,查询已经录入的学生的语文成绩最低分。

程序写好后,可以使用下面这些 demo 数据测试一下程序是否正确:

王明: 92
李华: 85
张丽: 95
陈宇: 78
赵敏: 89
刘伟: 91
孙婷: 83
周杰: 90
吴静: 88
郑毅: 79

答案

# grade_book 是一个字典,用于存储学生姓名和成绩
# 学生姓名作为 key,成绩作为 value
grade_book = {}# 打印欢迎信息
print("欢迎使用学生成绩管理系统!")# 无限循环,直到用户选择退出
while True:# 打印菜单print("\n请选择您要进行的操作:")print("1. 录入学生成绩")print("2. 查询学生成绩")print("3. 查询最高分")print("4. 查询最低分")print("5. 退出系统")# 获取用户输入choice = input("请输入选项(1-5):")if choice == '1':# --- 录入学生成绩功能 ---student_name = input("请输入学生姓名:")# 如果姓名已存在,询问用户是否更新if student_name in grade_book:print(f"学生 {student_name} 的成绩已存在,当前成绩为 {grade_book[student_name]}")overwrite = input("是否更新成绩?(y/n):").lower()if overwrite != 'y':print("取消更新。")continue# 循环直到输入有效的成绩while True:try:# 将输入的字符串转换为整数score = int(input("请输入语文成绩:"))# 将姓名和成绩存入字典grade_book[student_name] = scoreprint(f"学生 {student_name} 的成绩 {score} 已成功录入。")breakexcept ValueError:print("输入无效,成绩必须是数字。请重新输入。")elif choice == '2':# --- 查询学生成绩功能 ---student_name = input("请输入要查询的学生姓名:")# 检查学生姓名是否在字典中if student_name in grade_book:# 如果存在,打印成绩print(f"学生 {student_name} 的语文成绩为 {grade_book[student_name]}。")else:# 如果不存在,打印提示信息print(f"未找到学生 {student_name} 的成绩记录。")elif choice == '3':# --- 查询最高分功能 ---# 检查字典是否为空if not grade_book:print("当前没有学生成绩记录。")# 跳过本次循环的剩余部分,回到菜单continue# 使用 max() 函数找到字典值中的最高分max_score = max(grade_book.values())# 找到所有成绩是最高分的学生top_students = [name for name, score in grade_book.items() if score == max_score]print(f"最高分为 {max_score} 分。获得最高分的学生有:{'、'.join(top_students)}")elif choice == '4':# --- 查询最低分功能 ---# 检查字典是否为空if not grade_book:print("当前没有学生成绩记录。")# 跳过本次循环的剩余部分,回到菜单continue# 使用 min() 函数找到字典值中的最低分min_score = min(grade_book.values())# 找到所有成绩是最低分的学生low_students = [name for name, score in grade_book.items() if score == min_score]print(f"最低分为 {min_score} 分。获得最低分的学生有:{'、'.join(low_students)}")elif choice == '5':# --- 退出系统功能 ---print("感谢使用,再见!")breakelse:# --- 处理无效输入 ---print("输入无效,请输入一个介于1到5的数字。")
http://www.dtcms.com/a/318643.html

相关文章:

  • [假面骑士] 555浅谈
  • AI大语言模型如何重塑软件开发与测试流程
  • Linux操作系统启动项相关研究与总结
  • 高速信号设计之 UPI2.0 篇
  • Spring Security 框架深度集成与开发指南
  • 如何设计一个开放授权平台?
  • 初识神经网络01——认识PyTorch
  • k8s的存储之statefulset控制器
  • 【MyBatis新手避坑】详解 `Could not find resource ...Mapper.xml` 错误
  • Class30数据增广
  • Leetcode刷题营:字符串相关--第35,36题
  • 深度探索:非静态内部类不能定义 static 成员属性和方法 及 静态内部类的必要性
  • 若依前后端分离版学习笔记(六)——JWT
  • K8S、Docker安全漏洞靶场
  • Go语言“fmt”包详解
  • KNN算法:从原理到实战应用
  • SDIO三种触发枚举的方式
  • Python高级排序技术:非原生可比对象的自定义排序策略详解
  • 第14届蓝桥杯Scratch选拔赛初级及中级(STEMA)真题2022年11月27日
  • Java面试宝典:类加载器分层设计与核心机制解析
  • 栈与队列的基本逻辑
  • ToonMe:将照片转换为卡通风格的艺术作品
  • docker run 入门到进阶:容器启动背后的门道
  • 嵌入式开发入门—电感器
  • CASA模型原理详细解析
  • 【unity 中的RectTransform组件中的`RectTransform.sizeDelta理解】
  • Unity3D水下场景与游泳系统开发指南
  • ubuntu18.04在fstab文件中挂载硬盘失败,系统进入紧急模式的解决方法
  • js 从 json 中取 key 的值
  • 云平台托管集群:EKS、GKE、AKS 深度解析与选型指南-第一章