2017-10-11 151 views
0

我提出的猜数字游戏,我不知道如何错误在Python:类型错误:unorderable类型:STR()<int()函数

TypeError: unorderable types: str() < int()

import random 

Randomnumber= random.randint(-10,10) 

while -10 < Randomnumber < 10: 

    print("Guess the number") 
    answer= input("What do you think the number is? ") 
    print(answer) 
    if Randomnumber == answer: 
     print("Correct!") 
    elif answer < Randomnumber: 
     print("Your answer is smaller than the actual value") 
    else: 
     print("Your answer is bigger than the actual value") 
+5

您需要将返回值从'input'转换为'int'。目前它是一个字符串。只要做'answer = int(input(“你认为这个数字是什么?”))''。但是,如果用户输入的内容不能转换为整数,例如,您想要处理该异常,例如'abc'。 –

+0

“我不知道如何去做” - 怎么做?请提出具体问题。 – charlesreid1

回答

0

试试这个:

import random 

Randomnumber= random.randint(-10,10) 

while -10 <= Randomnumber <= 10: 

    print("Guess the number") 
    answer= input("What do you think the number is? ") 
    print(answer) 
    if Randomnumber == answer: 
     print("Correct!") 
     break 
    elif answer < Randomnumber: 
     print("Your answer is smaller than the actual value") 
    else: 
     print("Your answer is bigger than the actual value") 

一旦输入法要求您输入,也不要在单引号中输入项目。 您只需输入号码并按回车。如果您在单引号或双引号中输入数字,则它的类型将从数字到字符串进行cahnge,并且比较将失败。

相关问题