2) 统计功能是目前各类应用中的常用功能之一,本题模拟统计功能的实现。请编写程序实现下面的功能:用户反复输入学生的信息,包括学号、姓名、四门课程的成绩,直到用户输入“Exit”为止;用户输入的内容需要保存;输入结束后用户输入学号(学号是不重复的),系统输出该学号对应的学生的所有信息,并计算该学生的平均分。如果输入学号重复的学生信息,则更新原有数据。 例如:输入: 001 小明 90 80 70 60 002 小华 100 90 95 75 Exit 继续输入:001 输出:001 小明 90 80 70 60 平均分:75。
时间: 2024-02-06 09:11:32 浏览: 65
以下是 Python3 的实现代码:
```python
students = {}
while True:
info = input("请输入学生信息(学号 姓名 语文成绩 数学成绩 英语成绩 物理成绩),输入 'Exit' 结束:")
if info == 'Exit':
break
info_list = info.split()
if len(info_list) != 6:
print("输入的信息格式不正确,请重新输入!")
continue
stu_id, name, chinese, math, english, physics = info_list
if stu_id in students:
print("学号已存在,更新学生信息。")
students[stu_id] = {'name': name, 'chinese': float(chinese), 'math': float(math), 'english': float(english), 'physics': float(physics)}
search_id = input("请输入要查询的学生学号:")
if search_id in students:
stu = students[search_id]
avg_score = (stu['chinese'] + stu['math'] + stu['english'] + stu['physics']) / 4
print(f"{stu['name']} {stu['chinese']} {stu['math']} {stu['english']} {stu['physics']} 平均分:{avg_score:.2f}")
else:
print("未找到该学生信息。")
```
运行结果示例:
```
请输入学生信息(学号 姓名 语文成绩 数学成绩 英语成绩 物理成绩),输入 'Exit' 结束:001 小明 90 80 70 60
请输入学生信息(学号 姓名 语文成绩 数学成绩 英语成绩 物理成绩),输入 'Exit' 结束:002 小华 100 90 95 75
请输入学生信息(学号 姓名 语文成绩 数学成绩 英语成绩 物理成绩),输入 'Exit' 结束:001 小明 85 75 80 60
学号已存在,更新学生信息。
请输入学生信息(学号 姓名 语文成绩 数学成绩 英语成绩 物理成绩),输入 'Exit' 结束:Exit
请输入要查询的学生学号:001
小明 85.0 75.0 80.0 60.0 平均分:75.00
```
阅读全文