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

Python返回函数问题及输入循环程序优化需求咨询

问题修复:输入错误时保留已输入内容并优化提示

原代码的核心问题是将整个输入循环包裹在try块中,一旦输入非整数触发异常,会回到外层循环重新创建空列表,导致之前的输入全部丢失。我们需要把异常处理缩小到单次输入的逻辑上,让错误输入仅触发提示,不会清空已输入的有效内容。

修改后的代码如下:

largest = None
smallest = None
num_list = []  # 避免使用Python内置关键字`list`作为变量名
while True:
    x = input("Enter a number (type 'done' to finish): ")
    if x == 'done':
        break
    try:
        num = int(x)
        num_list.append(num)
        largest = max(num_list)
        smallest = min(num_list)
    except ValueError:
        print("请输入整数")
        continue

if num_list:  # 处理未输入任何有效数字就输入done的情况
    print("最小值是: ", smallest)
    print("最大值是: ", largest)
else:
    print("没有输入任何有效数字")

关键修改说明:

  • 将try-except仅用于捕获单次输入转整数的异常,错误输入只会触发提示,不会影响已有的列表内容。
  • 替换变量名list为num_list,避免与Python内置类型关键字冲突。
  • 提前判断输入是否为done,逻辑更清晰,无需在异常分支中处理结束指令。
  • 增加空列表判断,防止用户直接输入done导致max()/min()调用报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 00:45:34