Python 2.7 有人能告诉我这个python代码有什么问题吗?

Python 2.7 有人能告诉我这个python代码有什么问题吗?,python-2.7,Python 2.7,注意:我使用的是Python 2.7 我对Python不是很有经验,但我决定编写一个简单的小程序。代码如下: import random while True: randomNumber = random.randrange(1, 3) print randomNumber guessedNumber = raw_input("Choose a number between 1 and 3 ") if randomNumber == guessedNumber:

注意:我使用的是Python 2.7

我对Python不是很有经验,但我决定编写一个简单的小程序。代码如下:

import random

while True:
    randomNumber = random.randrange(1, 3)
    print randomNumber
    guessedNumber = raw_input("Choose a number between 1 and 3 ")
    if randomNumber == guessedNumber:
        print 'Yay! You got it right!'
    else:
        print 'You got it wrong :( The number was:',randomNumber
#The first print is just for testing.
但当我试着运行它时,我得到了以下结果:


有人能告诉我我需要更改什么或者代码有什么问题吗?

原始输入
返回一个字符串到
猜测数字
,您的程序将字符串(
猜测数字
)与整数(
随机数字
)进行比较,因此,
如果randomNumber==guessedNumber
永远不会计算为
True

解决方法是将
guessedNumber
转换为
int
,然后比较这两个值。

注意:“1”!=1.在Python2中,您可以使用
input
而不是
raw\u input
(它总是返回一个字符串)。可能重复@JohnColeman
int(raw\u input())
通常被认为是一种更好的方法,因为它不会尝试对输入进行求值,从而使您有机会验证它。