You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用循环存储多组学生成绩以完成最高分查找功能

问题背景

作业原始要求:

(查找最高分)编写程序,提示用户输入学生人数和每名学生的成绩,最后输出最高成绩。假设输入存储在名为score.txt的文件中,程序从该文件获取输入。

因还未学习文件读写操作,实际要求改为直接通过交互输入处理。


现有代码

grade = 0

students = eval(input("enter number of students: "))

for i in range(1, students + 1):
    grade = eval(input("enter student score: "))

解决方案

你可以根据需求选择两种实现思路:

思路1:用列表存储所有学生成绩(适合需要后续处理全量成绩的场景)

初始化空列表存储每次输入的成绩,最后直接调用max()函数获取最高分即可:

# 初始化空列表存储所有成绩
score_list = []

# 用int()替代eval()避免恶意输入风险
students = int(input("enter number of students: "))

for i in range(students):
    grade = int(input("enter student score: "))
    score_list.append(grade)

# 输出最高分
print("最高成绩为:", max(score_list))

注:尽量不要用eval()处理用户输入,若用户输入恶意代码会被直接执行,仅需要数字输入的话用int()或者float()更安全

思路2:实时更新最高分(无需存储全量成绩,内存效率更高)

如果仅需要得到最高分,不需要后续处理其他成绩,可以只维护一个记录当前最高分的变量,每次输入后比对更新即可:

# 初始化最高分,若成绩允许低于0可改为float('-inf')
max_score = 0

students = int(input("enter number of students: "))

for i in range(students):
    grade = int(input("enter student score: "))
    # 当前成绩大于记录的最高分就更新
    if grade > max_score:
        max_score = grade

print("最高成绩为:", max_score)

内容的提问来源于stack exchange,提问作者optik404

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 14:45:07