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

Python实现列表仅接受整数输入、非整数报错,回车输出降序列表

问题修复方案

现有代码错误点

  • 未对输入内容做整数校验就直接追加到列表,存储的是字符串而非整数
  • 循环内每次都执行map(int, myint)转换,只要列表中存在非整数字符串就会直接抛出类型转换异常
  • 调用了Python列表不存在的isInteger()方法,会触发属性错误
  • 排序逻辑放置位置错误,不需要每次循环都执行排序,仅需在输入结束后执行一次即可

正确实现代码

myint = []
while True:
    input_str = input("Enter an integer: ")
    # 判空:用户直接回车则结束输入
    if input_str == "":
        myint.sort(reverse=True)
        print(f"sorted list: {myint}")
        break
    # 异常捕获实现整数校验
    try:
        input_num = int(input_str)
    except ValueError:
        print(f"{input_str} is not an integer. Try again.")
        continue
    myint.append(input_num)

核心逻辑说明

  • 用try...except ValueError捕获整数转换失败的异常,触发时输出对应提示,跳过后续追加逻辑直接进入下一轮输入
  • 仅当输入内容可以成功转换为整数时,才将转换后的整数追加到列表
  • 用户直接回车输入空字符串时,先对列表做降序排序,再输出结果结束流程

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 19:24:03