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

如何实现输入类型错误时仅提示一次后重新请求下注金额?

解决方案

要实现输入非整数时仅提示一次错误并重新请求输入,用while循环配合合法性校验/异常处理就能搞定,不用for循环,也不需要额外的break终止(仅在输入合法时跳出循环即可)。

方式一:异常处理(推荐)

利用整数转换时的ValueError捕获非整数输入,每次非法输入只打印一次提示,然后回到输入步骤:

while True:
    bet_input = input("请输入下注金额:")
    try:
        bet_amount = int(bet_input)
        # 可选:添加金额大于0的校验
        if bet_amount > 0:
            break  # 输入合法才跳出循环
        else:
            print("下注金额必须大于0")
    except ValueError:
        print("输入需为整数")
# 这里处理合法的bet_amount

方式二:字符串直接校验

如果不想用异常,先判断输入是否为纯数字字符串:

while True:
    bet_input = input("请输入下注金额:")
    # 先去除首尾空格,再判断是否为正整数
    if bet_input.strip().isdigit():
        bet_amount = int(bet_input)
        if bet_amount > 0:
            break
        else:
            print("下注金额必须大于0")
    else:
        print("输入需为整数")
# 后续逻辑

关键说明

  • while True会持续循环请求输入,直到输入合法执行break跳出
  • 每次非法输入只会触发一次错误提示,然后自动回到输入请求,不会无限输出提示
  • 不需要额外的break终止错误流程,让循环自然重试即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 10:27:11