我对Python完全不熟悉,所以对我来说这一切都有点新鲜。
我正在尝试创建一个脚本,在该脚本中,它自己会想到一个数字,并且在病房之后希望用户猜出一个数字然后输入它。它似乎工作但这里有问题。
它理解一切,但它不理解==部分。 因为即使这两个数字相同,它仍然继续朝着else语句发展。
import random
while True:
Thethinker = random.randint(1,10)
Guessnumber = (input("Guess a random number "))
if Guessnumber == Thethinker:
print("Correct")
print(Thethinker)
else:
print("Not correct")
print(Thethinker)
任何帮助?
答案 0 :(得分:4)
假设Python 3,input
返回字符串。
在Python中,字符串和数字永远不能“相等”;你必须改变一个或另一个。例如,如果您使用
Thethinker = str(random.randint(1,10))
然后与另一个字符串的等式比较可以成功。
答案 1 :(得分:0)
您的输入返回字符串而不是整数。要获得整数,请执行以下操作:
int(Guessnumber)
这比使用str()更好,因为如果您想要更改数字,如果不执行我建议的方法,您将无法做到这一点
据我所知,我没有做太多的Python