Python I';我正在尝试创建一个数字猜测游戏,但是当我运行这个游戏时,它会继续运行while循环,并且不会中断

Python I';我正在尝试创建一个数字猜测游戏,但是当我运行这个游戏时,它会继续运行while循环,并且不会中断,python,Python,我正在尝试创建一个数字猜测游戏,但是当我运行这个游戏时,它会继续运行while循环,并且不会中断。(顺便说一句,对python来说非常陌生)谢谢 input将返回一个字符串使用int(input())转换为int,以便能够与randintcnumber是一个int,但是guess1和guess2是字符串,因此它们永远不相等,因为它们的类型不同。最简单的方法是将cnumber转换为字符串:cnumber=str(randint(1,25))input()返回一个str randint(1,25)返

我正在尝试创建一个数字猜测游戏,但是当我运行这个游戏时,它会继续运行while循环,并且不会中断。(顺便说一句,对python来说非常陌生)谢谢


input
将返回一个字符串使用
int(input())
转换为int,以便能够与
randint
cnumber是一个int,但是guess1和guess2是字符串,因此它们永远不相等,因为它们的类型不同。最简单的方法是将cnumber转换为字符串:
cnumber=str(randint(1,25))
input()
返回一个
str

randint(1,25)
返回一个
int

当它将“2”与2进行比较时,在python中为false

解决方案:将输入转换为
int
,如下所示

guess1 = int(input(name1 + " guess a number between 1 and 25: "))
guess2 = int(input(name2 + " guess a number between 1 and 25: "))

将输入转换为
int
,或将
cnumber
转换为
string
。您可能需要将猜测1和猜测2转换为int@chillturtle不要介意。然而,还有另一个问题;如果他们都猜对了,
print(name2,“wins!”)
行将永远不会运行,因为它位于
elif
语句中,而不是
if
。转换cnumber的优点是,如果输入了无法转换为int的内容,程序不会崩溃。
guess1 = int(input(name1 + " guess a number between 1 and 25: "))
guess2 = int(input(name2 + " guess a number between 1 and 25: "))