酷代码 AI
菜单
全部AI  /  热门  /  AI问答
服务商

要求:使用元组和字典管理学生信息。(1)创建包含学生信息的元组(学号, 姓名)(2)使用字典存储每个学生三门课程的成绩,格式为 {学号: [数学, 英语, Python]}(3)输入学号可查询学生姓名和平均分(4)统计全班每门课程的最高分和最低分(5)使用集合自动排除重复的学号输入。

# 学生信息管理系统 ```python # (1) 创建学生信息元组 students = [ ('1001', '张三'), ('1002', '李四'), ('1003', '王五'), ('1004', '赵六') ] # (2) 创建成绩字典 scores = { '1001': [85, 90, 88], '1002': [78, 82, 80], '1003': [92, 88, 95], '1004': [80, 85, 78] } # (3) 查询学生信息功能 def query_student(student_id): # 在元组中查找学生 student_info = None for s in students: if s[0] == student_id: student_info = s break if student_info: # 计算平均分 avg_score = sum(scores[student_id]) / 3 print(f"学生姓名: {student_info[1]}, 平均分: {avg_score:.2f}") else: print("未找到该学号的学生") # (4) 统计课程最高分和最低分 def course_statistics(): # 提取各科成绩 math_scores = [s[0] for s in scores.values()] english_scores = [s[1] for s in scores.values()] python_scores = [s[2] for s in scores.values()] print(f"数学 - 最高分: {max(math_scores)}, 最低分: {min(math_scores)}") print(f"英语 - 最高分: {max(english_scores)}, 最低分: {min(english_scores)}") print(f"Python - 最高分: {max(python_scores)}, 最低分: {min(python_scores)}") # (5) 使用集合排除重复学号 def add_student(): existing_ids = {s[0] for s in students} while True: student_id = input("请输入学号(输入q退出): ") if student_id.lower() == 'q': break if student_id in existing_ids: print("该学号已存在,请重新输入") continue name = input("请输入姓名: ") students.append((student_id, name)) # 初始化成绩 math = int(input("数学成绩: ")) english = int(input("英语成绩: ")) python = int(input("Python成绩: ")) scores[student_id] = [math, english, python] existing_ids.add(student_id) print("学生信息添加成功") # 主菜单 def main(): while True: print("\n学生信息管理系统") print("1. 查询学生信息") print("2. 统计课程成绩") print("3. 添加学生信息") print("4. 退出系统") choice = input("请选择操作: ") if choice == '1': student_id = input("请输入学号: ") query_student(student_id) elif choice == '2': course_statistics() elif choice == '3': add_student() elif choice == '4': print("系统退出") break else: print("无效输入,请重新选择") if __name__ == "__main__": main() ``` ## 代码说明 1. 学生信息元组:使用元组存储学号和姓名,确保学生基本信息不可变。 2. 成绩字典:使用字典存储每个学生的三门课程成绩,键为学号,值为成绩列表。 3. 查询功能:输入学号可查询学生姓名和平均分,平均分计算保留两位小数。 4. 统计功能:分别计算数学、英语和Python课程的最高分和最低分。 5. 添加学生:使用集合检查重复学号,防止重复添加相同学号的学生。 6. 主菜单:提供交互式菜单,方便用户选择不同功能。 这个系统满足了所有要求,并提供了基本的交互界面,可以根据需要进一步扩展功能。 [2025-04-20 17:55:36 | AI问答 | 902点数解答]

相关提问