2017-01-23 99 views
1

我一直在试图做一个随机数猜测游戏。我正在使用:Python代码循环

def Guess(): 
    randomNumber = random.randint(1, 100) 

    found = False 

    while not found: 
     _guess = raw_input("Your Guess: ") 
     if _guess == randomNumber: 
      print "Correct!" 
      found = True 
     elif _guess > randomNumber: 
      print "Too High"  
     else: 
      print "Too Low" 

问题是无论如何,它打印“太高”。 我试图在网上搜索这个问题,但我不知道要搜索什么。

有谁知道我能做些什么来解决这个问题?

+0

字符串和整数比较总是返回较小的整数。 – jath03

回答

2

Python的raw_input()给你一个串,不是一个整数,并且由于"42"实际上不是等于42,它永远是正确的(一)

你需要把这个字符串转换成整数之前你比较,喜欢的东西:

_guess = int(raw_input("Your Guess: ")) 

(一)注了Python 3不允许有序的不平等检查混合串/数字参数,所以:

"2" > 1 

实际上将引发一个错误。它仍然允许直接不平等!=和等于==检查,但仍然认为字符串和数字不相等。