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

Python 3.8中含while True的整数输入函数失效问题求助

解决Python输入年龄验证的问题

嘿,我发现你的代码里有几个小问题导致它没法正常运行,咱们一步步来修正:

问题1:布尔值大小写错误

Python是严格区分大小写的,你写的while true:里的true是小写的——但Python里的布尔值“真”应该是大写首字母的True!小写的true会被当成一个未定义的变量,直接触发语法错误,这就是代码连启动都没反应的核心原因。

问题2:多余的break语句

函数里的break完全没必要,因为return userinput已经会直接终止函数并返回结果了,后面的break根本没机会执行,删掉就好。

问题3:缺少函数调用

你只定义了inputnumber函数,但没调用它来实现实际的输入交互,所以即使函数写对了,也不会有任何输出。


修正后的完整代码

这里给你整理了能正常运行的版本,还加上了姓名输入的逻辑:

def inputnumber(message):
    while True:  # 这里改成大写的True
        try:
            userinput = int(input(message))
        except ValueError:
            print("Please input integers")
            continue
        else:
            return userinput  # return之后函数直接结束,不需要break

# 调用函数实现完整的姓名+年龄输入功能
name = input("Please input your name: ")
age = inputnumber("Please input your age: ")
print(f"Hello {name}, you are {age} years old!")

运行效果说明

  • 如果输入的年龄不是整数(比如输入abc或者12.5),程序会打印提示并让你重新输入年龄
  • 只有输入合法的整数年龄后,才会继续执行并输出结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 07:08:15