3.成绩统计 自动化专业有n名学生,学号为四位数,每名学生有3门课成绩,请自行选择数据结构存储学生成绩信息,学生成绩通过键盘循环输入,输入格式示例: 1、输入成绩:1001:70,80,90<回车> 2、完成输入:q<回车> 输入完成后输出运算结果 1、输出总分最高的学生和总分最低的学生信息。 示例:max:1002,min:1001 2、输出有不及格课程的学生学号。 示例: loss: 1002,1003 [输入形式] input0 [输出形式]print0 [样例输入] 1001: 70,80,90 1002: 55, 70,88 1003: 77,45,90 1004: 99,80,88 g
时间: 2023-12-03 13:43:00 浏览: 164
我可以为您提供一个使用Python字典存储学生成绩信息的示例代码,您可参考如下:
```python
# 初始化一个空字典用于存储学生成绩信息
score_dict = {}
# 循环输入学生成绩信息
while True:
score_input = input("请输入成绩(输入q完成输入):")
if score_input == 'q':
break
# 解析输入内容,获取学生学号和成绩信息
score_list = score_input.split(':')
student_id = int(score_list[0])
scores = list(map(int, score_list[1].split(',')))
# 存储学生成绩信息到字典中
score_dict[student_id] = scores
# 计算总分最高和最低的学生信息
max_score = -1
min_score = 999999
max_student_id = 0
min_student_id = 0
for student_id, scores in score_dict.items():
total_score = sum(scores)
if total_score > max_score:
max_score = total_score
max_student_id = student_id
if total_score < min_score:
min_score = total_score
min_student_id = student_id
# 输出总分最高和最低的学生信息
print("max:{},min:{}".format(max_student_id, min_student_id))
# 查找有不及格课程的学生
loss_students = []
for student_id, scores in score_dict.items():
if any(score < 60 for score in scores):
loss_students.append(student_id)
# 输出有不及格课程的学生学号
print("loss:", end='')
for student_id in loss_students:
print(student_id, end=',')
```
您可以根据需要将此代码保存为.py文件并在命令行中运行,然后按照输入格式逐个输入学生成绩,输入完成后程序会自动输出计算结果。
阅读全文