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

Python带try-except的while循环优化:合并循环且保留正确输入值

优化Python整数输入求和代码

你可以通过提取重复的输入验证逻辑为可复用函数来解决这个问题,既避免了重复的while循环,又能保证第一个数输入正确后不会被重复要求输入。同时还能优化异常处理的精准性,避免捕获无关异常。

优化后的代码

def get_integer_input(prompt):
    while True:
        try:
            return int(input(prompt))
        except ValueError:
            print("Only integers allowed for input!")

# 直接用Python原生加法逻辑即可,无需自定义sum函数
num1 = get_integer_input('Enter 1st number: ')
num2 = get_integer_input('Enter 2nd number: ')

print(f'Sum of {num1} and {num2} is {num1 + num2}')

优化说明

  • 复用输入逻辑:把输入验证的while循环封装成get_integer_input函数,传入不同提示语就能获取对应整数,彻底消除重复代码
  • 保留已输入的正确值:获取第一个数时,只有输入正确才会返回结果,之后直接执行第二个数的输入逻辑,不会重新要求输入第一个数
  • 精准异常捕获:原来的except:会捕获所有异常,这里改成except ValueError:,只处理输入无法转换为整数的情况,更安全合理
  • 简化求和逻辑:Python本身支持直接整数加法,没必要自定义sum函数(如果坚持保留自定义函数也可以,但完全没必要)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 02:39:53