2016-08-20 127 views
-1

注意:我正在使用Python 2.7有人能告诉我这个python代码有什么问题吗?

我对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. 

但是当我尝试运行它,我得到这个: IDLE after i used the program a few times

有人能告诉我什么,我需要改变或什么是错的代码?

+1

注意:“1”!= 1.在Python 2中,您可以使用input而不是raw_input(它总是返回一个字符串)。 –

+1

[我怎样才能在Python中读取输入为整数?](http://stackoverflow.com/questions/20449427/how-can-i-read-inputs-as-integers-in-python) – DeepSpace

+0

@JohnColeman 'int(raw_input())'通常被认为是一种更好的方法,因为它不会尝试评估输入,从而使您有机会验证它。 – DeepSpace

回答

0

raw_input返回一个字符串guessedNumber,和你的程序中的字符串(guessedNumber)到一个整数(randomNumber)进行比较,所以if randomNumber == guessedNumber从不计算True

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

+0

谢谢!我在str()中添加了它,并且它工作正常。 – Kellan

相关问题