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

Python如何实现输入数值范围校验、超范围重输及三数总和校验功能

调整后可实现需求的代码

while True:
    # 输入第1个数值,校验范围
    while True:
        a = int(input("Enter number 1: "))
        if 0 <= a <= 120:
            break
        print("Out of Range, please re-enter number 1")
    
    # 输入第2个数值,校验范围
    while True:
        b = int(input("Enter number 2: "))
        if 0 <= b <= 120:
            break
        print("Out of Range, please re-enter number 2")
    
    # 输入第3个数值,校验范围
    while True:
        c = int(input("Enter number 3: "))
        if 0 <= c <= 120:
            break
        print("Out of Range, please re-enter number 3")
    
    # 校验三者之和
    if a + b + c == 120:
        print("All inputs are valid!")
        break
    print("Incorrect Total, please re-enter all 3 numbers")

调整逻辑说明

  • 原代码仅对输入超限做了提示,没有给单个输入增加重试逻辑,超限后仍会继续执行后续输入步骤,因此无法实现单个数值错误重输对应项的效果。调整后为每个数值的输入单独嵌套了一层循环,只有当前输入符合0~120的范围要求时,才会跳出当前输入循环进入下一个数值的输入环节,否则始终要求用户重新输入当前序号的数值
  • 保留了最外层的全局循环,当三个合法数值的总和不等于120时,会提示用户重新输入全部三个数值
  • 用0 <= x <= 120的判断替代原有的range(121)判断,逻辑可读性更强,也兼容后续如果需要调整为浮点数值输入的场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:24:04