import time
import random
target = random.randrange(1, 3, 2)
print target #for debug reasons
time.sleep(5)
shot = raw_input("Enter a random number")
while shot != target:
print "n0pe"
shot = raw_input("Enter a random number")
else:
print "you won"
因为我正在测试这个有趣的游戏,所以即使我说的是正确的数字,也总是说n0pe。我不知道它有什么问题!
答案 0 :(得分:2)
target
是一个整数值。 raw_input()
返回一个字符串。在python中,字符串和整数永远不会彼此相等。
例如:
print 1 == "1"
# prints "False"
在进行比较之前,您希望使用int()
将用户输入转换为整数。
import time
import random
target = random.randrange(1, 3, 2)
print target #for debug reasons
time.sleep(5)
shot = int(raw_input("Enter a random number"))
while shot != target:
print "n0pe"
shot = int(raw_input("Enter a random number"))
else:
print "you won"
答案 1 :(得分:0)
比较不对。您正在将字符串与整数进行比较。
试试这个:
import time
import random
target = random.randrange(1, 3, 2)
time.sleep(5)
shot = raw_input("Enter a random number")
while True:
if int(shot) != target:
print "n0pe"
shot = raw_input("Enter a random number")
else:
print "you won"
break