全班n个同学的成绩需要按学号读入,请找出班级最高分,并找出最高分的得主。(假设无重复成绩)输入 两行,第一行为一个正整数n,第二行为n个实数,每个实数之间用一个空格分隔。 输出 NO(学号):(成绩)保留小数点后一位小数。
时间: 2024-03-17 12:47:40 浏览: 126
好的,根据题目要求,我们需要找出班级最高分,以及最高分的得主。我们可以使用Python代码实现这个功能:
```python
n = int(input("请输入同学的人数:"))
scores = input("请输入同学的成绩:").split() # 将输入的成绩切分成一个列表
max_score = float(scores[0]) # 假设第一个同学的成绩最高
max_index = 0 # 记录最高分的下标
for i in range(1, n):
score = float(scores[i])
if score > max_score:
max_score = score
max_index = i
print("NO{}: {:.1f}".format(max_index + 1, max_score))
```
以上代码中,我们首先读入同学的人数n和所有同学的成绩,然后依次比较每个同学的成绩,找出最高分和最高分的得主。注意,我们假设第一个同学的成绩最高,并将其作为最高分的初始值。最后,我们使用`format`函数将得主的学号和最高分输出,其中`{:.1f}`表示保留一位小数。
例如,如果输入的同学人数为5,成绩分别为90、85、92、88、89,则输出结果为“NO3: 92.0”,表示第3个同学获得了最高分92分。
相关问题
< 求全班同学的英语成绩平均分 1. 简答题 求全班同学的英语成绩平均分,输入班级人数 n,再按学号( 1至最大学号n,学号连续)依 次输入各同学的成绩,求平均并输出。 附加题目,并求解、输出不及格同学的学号和 成绩,找出最高分的同学学号和成绩。 输入答案
答案:
1. 简答题:
代码如下:
n = int(input("请输入班级人数:"))
sum = 0 # 总成绩
fail_list = [] # 不及格同学列表
max_score = 0 # 最高分
max_score_id = 0 # 最高分同学学号
for i in range(1, n+1):
score = int(input("请输入第%d个同学的成绩:" % i))
sum += score
if score < 60:
fail_list.append((i, score))
if score > max_score:
max_score = score
max_score_id = i
average_score = sum / n
print("全班同学的英语成绩平均分为:%.2f" % average_score)
if len(fail_list) != 0:
print("不及格同学的学号和成绩为:")
for fail in fail_list:
print("学号:%d,成绩:%d" % fail)
print("最高分同学的学号和成绩为:学号:%d,成绩:%d" % (max_score_id, max_score))
运行结果如下:
请输入班级人数:5
请输入第1个同学的成绩:78
请输入第2个同学的成绩:89
请输入第3个同学的成绩:56
请输入第4个同学的成绩:67
请输入第5个同学的成绩:90
全班同学的英语成绩平均分为:76.00
不及格同学的学号和成绩为:
学号:3,成绩:56
最高分同学的学号和成绩为:学号:5,成绩:90
2. 附加题目:
在上述代码中已经实现了附加题目的要求。
输入全班同学的名字和成绩,输出最高分和最低分,并求出平均分,要求用字典实现
好的,以下是用字典实现该功能的代码:
```
# 输入全班同学的名字和成绩
scores = {}
while True:
name = input("请输入同学的姓名:")
if not name:
break
score = float(input("请输入该同学的成绩:"))
scores[name] = score
# 输出最高分和最低分
max_score = max(scores.values())
min_score = min(scores.values())
print("最高分为:{},最低分为:{}".format(max_score, min_score))
# 求出平均分
total_score = sum(scores.values())
avg_score = total_score / len(scores)
print("平均分为:{}".format(avg_score))
```
运行程序后,依次输入每位同学的姓名和成绩,以空行结束输入。程序会输出最高分和最低分,以及平均分。
阅读全文