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

Python输入转int求和程序报错:输入done触发ValueError问题排查

问题解决:数字累加程序异常修复

原代码的核心问题有两个:

  1. 直接将输入转为整数,输入"done"时会触发ValueError,因为字符串无法转成整数
  2. 转成整数后,用整数和字符串"done"做相等判断,逻辑永远不成立,无法正常退出循环

以下是修复后的代码:

total = 0
while True:
    user_input = input('enter number or "done" to finish: \n')
    if user_input == 'done':
        break
    # 尝试将输入转为整数,处理非数字输入的情况
    try:
        number = int(user_input)
        total += number
    except ValueError:
        print("请输入有效的数字或'done'")

print(f"累加总和为: {total}")

关键修复点:

  • 先获取原始输入字符串,优先判断是否是退出指令"done",避免类型转换错误
  • 使用try-except捕获非数字输入的异常,增强程序健壮性,提示用户正确输入
  • 仅当输入是有效数字时,才执行累加操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 18:43:08