Python 2.7 为什么我的python程序不工作?

Python 2.7 为什么我的python程序不工作?,python-2.7,Python 2.7,当我测试这个有趣的游戏时,它总是说n0pe,即使我说的是正确的数字。我想不出它有什么毛病 目标是一个整数值raw_input()返回一个字符串。在python中,字符串和整数永远不会相等 例如: 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") wh

当我测试这个有趣的游戏时,它总是说n0pe,即使我说的是正确的数字。我想不出它有什么毛病

目标
是一个整数值
raw_input()
返回一个字符串。在python中,字符串和整数永远不会相等

例如:

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"
在进行比较之前,您需要使用
int()
将用户输入转换为整数

print 1 == "1"
# prints "False"

这种比较是不对的。您正在将字符串与整数进行比较

试试这个:

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"
谢谢,我不知道为什么我没有想到这一点;D
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