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

Python作业求助:不使用列表或无穷大实现整数最值求解

问题分析与修正方案

原代码存在的问题

  • 错误使用Python内置的min、max函数作为比较基准,且min_value、max_value未初始化,运行时会直接抛出NameError。
  • 循环内用elif逻辑限制了更新条件,同一轮循环中只能更新最小值或最大值中的一个,且完全没处理初始值的赋值问题。
  • 没有利用第一个输入的整数初始化最值,不符合“不能使用无穷大”的作业要求。

修正后的代码

int_num = int(input("How many integers would you like to enter? "))

print("Please enter", int_num, "integers.")

# 用第一个输入的数初始化最值,规避无穷大的使用
first_num = int(input())
min_value = first_num
max_value = first_num

# 循环处理剩余的整数
for _ in range(int_num - 1):
    current_num = int(input())
    if current_num < min_value:
        min_value = current_num
    if current_num > max_value:
        max_value = current_num

print("min:", min_value)
print("max:", max_value)

关键改动说明

  1. 初始值赋值:先获取第一个输入的整数,用它同时初始化最小值和最大值,完全符合作业“不能使用无穷大”的限制。
  2. 循环逻辑调整:循环次数改为int_num - 1(已提前获取第一个数),用两个独立的if判断分别更新最值,避免出现判断互斥导致的更新遗漏。
  3. 变量命名优化:将循环内的输入变量改为current_num,更清晰地表示当前处理的数值,避免命名混淆。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 03:01:07