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

如何在Python的while循环用户输入功能中设置整数默认值

实现input输入函数整数默认值的解决方案

你原有写法的错误核心原因:
inputNumber("Specify number: " or "2")的逻辑完全错误,Python中or是布尔运算符,非空字符串的布尔值为True,所以这个表达式在传入函数前就已经计算得到结果为"Specify number: ",根本没有把默认值2传递给函数的逻辑,默认值需要在函数内部做判断实现。

修改后的完整可运行代码如下:

def inputNumber(message, default=None):
    # 如果设置了默认值,在提示语末尾标注,方便用户知晓
    if default is not None:
        message = f"{message}(默认:{default}) "
    while True:
        # 先获取原始输入,去除首尾空白字符
        raw_input = input(message).strip()
        # 输入为空且存在默认值时直接返回默认值
        if not raw_input and default is not None:
            return default
        try:
            userInput = int(raw_input)
        except ValueError:
            print("Not an integer! Try again.")
            continue
        else:
            return userInput

# 调用时传入default参数设置默认值为2
specify_number = inputNumber("Specify number: ", default=2)

实现效果:

  • 用户未输入内容直接回车:自动返回默认值2
  • 用户输入非整数内容:提示输入不合法,要求重新输入
  • 用户输入合法整数:返回用户主动输入的数值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 11:45:00