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

为何无法为这段Python输入验证代码添加while循环?

解决方案:实现持续的数字输入验证

你的问题在于当前代码仅在首次输入错误时重试一次,若再次输入无效内容,就没有额外的异常捕获逻辑了,直接触发ValueError。要实现持续重试直到输入有效数字,可以把输入验证逻辑封装成可复用的函数,结合while True循环来实现。

修改后的代码

def get_valid_float(prompt):
    while True:
        try:
            return float(input(prompt))
        except ValueError:
            print('invalid input!')

# 获取两个有效数字
n1 = get_valid_float('enter a number: ')
n2 = get_valid_float('enter a second number: ')

代码说明

  • 封装get_valid_float函数,接收提示文本作为参数,避免重复编写相同的验证逻辑,适配你的大型程序场景。
  • while True创建无限循环,直到用户输入有效数字时,return语句会终止循环并返回正确数值。
  • 每次输入无效时,except ValueError块打印错误提示,随后自动回到循环开头重新请求输入。

这样无论用户输入多少次无效内容,程序都会持续提示,直到输入合法数字为止,完全解决了你遇到的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 08:02:02