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

如何修复Python重复输入异常导致的程序崩溃问题

修复循环获取正整数输入的异常问题

你的代码崩溃是因为未捕获输入转换时的ValueError——当输入非整数内容(比如小数、字符串)时,int()转换会直接抛出异常终止程序。要实现持续循环直至输入正确,需要结合异常捕获和正整数校验。

错误代码示例(触发崩溃的场景)

while True:
    book_count = int(input("请输入书籍数量:"))
    if book_count > 0:
        print(f"你输入的书籍数量是:{book_count}")
        break

报错信息示例:
ValueError: invalid literal for int() with base 10: '3.5'

修复后的代码

while True:
    try:
        book_count = int(input("请输入书籍数量:"))
        if book_count > 0:
            print(f"确认书籍数量:{book_count}")
            break
        else:
            print("错误:请输入大于0的正整数!")
    except ValueError:
        print("错误:请输入有效的整数!")

代码逻辑说明

  • try块中完成两个核心校验:
    1. 将用户输入转换为整数,若转换失败直接触发except分支
    2. 校验转换后的整数是否为正整数,不符合则提示错误并继续循环
  • except ValueError专门捕获输入无法转为整数的场景(比如输入小数、字母、符号等),提示错误后继续循环,避免程序崩溃

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 14:45:34