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

Python中如何实现无效输入时重新获取输入的逻辑?

解决输入优化准则类型的循环验证问题

你需要把输入和验证逻辑放到循环结构里,直到用户输入有效数值(0或1)才退出循环。同时补充非数值输入的异常处理,避免程序崩溃,优化后的代码如下:

def get_tipo(value):
    if value == 0:
        print("minimization criterion")
        return True
    elif value == 1:
        print("maximization criterion")
        return True
    else:
        print("not valid value")
        return False

while True:
    try:
        cType = input("criteria type (0 - minimization, 1 - maximization): ")
        tipo = float(cType)
        # 验证通过则退出循环
        if get_tipo(tipo):
            break
    except ValueError:
        # 处理用户输入非数字的情况
        print("请输入有效的数字(0或1)")

关键修改说明:

  • 用while True构建无限循环,直到输入有效才通过break终止循环
  • 给get_tipo函数添加布尔返回值,用于判断输入是否符合要求
  • 加入try-except块捕获非数值输入引发的异常,增强程序健壮性
  • 将输入、类型转换、验证逻辑全部放入循环体内,实现重复输入的需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 02:02:39