什么是不可征服的类型?

时间:2017-09-07 22:04:21

标签: python python-3.x while-loop

这与其他项目不同,因为它更简单,目标是查看计算机猜测你的数字有多快。

以下代码有问题:

number = input("Please enter a number:")
guess = 0

while guess < number:
    guess += 1
    print (guess)

当我输入时,请说5,然后我收到以下消息:

Traceback (most recent call last):
  File "..\Playground\", line 4, in <module>
    while guess < number:
TypeError: unorderable types: int() < str()

1 个答案:

答案 0 :(得分:0)

您从input()函数获取的值不是数字,而是可以包含数字,符号和字母的unicode字符串。

因此,当流程执行转到if语句时,您将字符串(可能是“5”而且“Hello ...”)与数字进行比较,这是无效的。

只需将变量号转换为int。这可能会有所帮助:

number = int(input("Please enter a number:"))