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

代码无法运行求助:输入数字仍提示‘仅允许输入数字’该如何修复?

修复输入数字仍提示"only numbers are allowed"的问题

嘿,我看了你的代码,问题出在while循环的条件判断逻辑上啦!

你写的while age != age.isdigit()这里有个逻辑错误:age.isdigit()会返回一个布尔值(True或False),而age是用户输入的字符串。当你输入数字时,age.isdigit()是True,但你拿字符串和布尔值做不等比较(比如"25" != True),这个结果永远是True,所以循环会一直执行,哪怕你输入的是数字。

正确的逻辑应该是当输入不是数字的时候进入循环提示,也就是用not age.isdigit()作为循环条件。

修复后的代码如下:

age = input("What's your age? ")
while not age.isdigit():
    print("only numbers are allowed")
    age = input("What's your age? ")
age = int(age)

简单说下修改后的逻辑:

  • 先获取用户输入的年龄字符串
  • 循环条件not age.isdigit():只要输入的字符串不是纯数字,就进入循环提示用户重新输入
  • 当用户输入纯数字时,age.isdigit()返回True,not True就是False,循环终止,最后把字符串转成整数类型

这样调整后,程序就能正常识别数字输入啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 03:48:19