我的代码不起作用

时间:2018-05-16 01:44:59

标签: python input while-loop

我的代码有问题。当我输入数字时,它仍然显示“只允许数字”。我该如何解决?

这是代码:

152/799/920

1 个答案:

答案 0 :(得分:1)

表达式age.isdigit() 返回一个数字。它会返回TrueFalse。因此,条件age != age.isdigit()正在将age中的字符串值与布尔TrueFalse进行比较,这将永远不会评估为真。

如果您希望循环继续,而age不是值全数字字符串,则可以使用while not age.isdigit()

你也可以考虑这样写:

 while true:
      age = input("What's your age? ")
      if age.isdigit():
           break

 age = int(age)

我觉得更容易理解,因为您不必重复输入提示,而且您没有使用否定条件。