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

如何将Python成绩处理代码中的两个while循环合并为单个while循环

单while循环实现成绩录入与最高分计算修改方案

核心思路是将「录入成绩」和「比对最高分」两个逻辑合并到同一次循环中,每录入一个成绩就同步完成最高分更新,无需先存完所有成绩再单独遍历计算。

修改后的完整代码如下:

number_of_grades = int(input("请问共有多少名学生?: "))
grades = []  # 如果不需要保留所有成绩后续使用,可以删除此行
highest_grade = float('-inf')
current_count = 0

while current_count < number_of_grades:
    current_grade = int(input("请输入学生成绩: "))
    # 同步存储成绩(不需要可删除)
    grades.append(current_grade)
    # 同步更新最高分
    if current_grade > highest_grade:
        highest_grade = current_grade
    current_count += 1

print(f"最高分为: {highest_grade}")

改动说明

  • 移除了原本两个独立的循环函数,把两个步骤的逻辑合并到同一个循环内执行,循环次数和原来的录入循环次数完全一致,没有额外性能开销
  • 初始化最高分设为负无穷float('-inf'),兼容所有合法的正分数输入,不需要单独处理第一个成绩的赋值逻辑
  • 如果不需要留存所有学生成绩,可删除所有和grades列表相关的代码,进一步节省内存空间
  • 如果需要处理学生数为0的边界场景,可在输出前加判断,比如当number_of_grades为0时提示无有效成绩即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:06:04