我的代码有问题。当我输入数字时,它仍然显示“只允许数字”。我该如何解决?
这是代码:
152/799/920
答案 0 :(得分:1)
表达式age.isdigit()
不返回一个数字。它会返回True
或False
。因此,条件age != age.isdigit()
正在将age
中的字符串值与布尔True
或False
进行比较,这将永远不会评估为真。
如果您希望循环继续,而age不是值全数字字符串,则可以使用while not age.isdigit()
。
你也可以考虑这样写:
while true:
age = input("What's your age? ")
if age.isdigit():
break
age = int(age)
我觉得更容易理解,因为您不必重复输入提示,而且您没有使用否定条件。