Python 这个程序说的是错的,即使它是对的,当他们弄错的时候,我如何使它成为一个循环?

Python 这个程序说的是错的,即使它是对的,当他们弄错的时候,我如何使它成为一个循环?,python,Python,我最初还使用了一个while循环,它表示如果猜测不等于x,请再次运行 import random; x = random.randint(1, 100); print(x); guess = input("Guess a number 1 to 100"); if guess == x: print("correct"); sys.exit() else: print("wrong"); print("Guess a number 1 to 100");

我最初还使用了一个while循环,它表示如果猜测不等于x,请再次运行

import random;
x = random.randint(1, 100);
print(x);
guess = input("Guess a number 1 to 100");
if guess == x:
     print("correct");
    sys.exit()
else:
     print("wrong");
     print("Guess a number 1 to 100");

您正在将字符串与整数进行比较。因此,在本例中,x是一个整数,而
guess
是一个字符串

通过将
guess
键入整数,可以将其转换为字符串

guess = int(input("Guess a number 1 to 100"));
在Python3.0之前,input语句会自动计算输入以将其转换为整数(输入字符串的计算已完成),但在Python3.0中,始终会返回字符串

注意Python3中的变化:如果您使用的是Python3,请注意 这已经改变了。input()内置函数始终返回 一串要将字符串转换为数字,请使用eval()或cast 使用int(),float()将字符串转换为所需的数据类型请参见 Python 3内置函数的文档

更多信息请参见此处:

猜测=输入(“猜测数字1到100”)将给您一个字符串。因此,如果输入
4
,程序将比较
'4'==4
,这是
False

使用:


计算机做你让他们做的事。如果“程序错误”,则您的逻辑不正确。
input
返回字符串
“50”==50
为假。如果int(guess)==x:
回答
的那一刻可以添加注释..请去掉尾随的分号。导入随机;导入系统;x=random.randint(1100)#印刷品(x);猜测=整数(输入(“猜测数字1到100”);如果猜测==x:打印(“正确”);sys.exit()同时猜测!=x:打印(“错误”);int(输入(“猜一个数字1到100”)#印刷品(x);如果猜测==x:打印(“正确”);sys.exit()这是我修改过的代码,但仍然有一个bug。当我弄错两次或两次以上的时候,不管怎样,它总是会说错话。
guess = int(input("Guess a number 1 to 100"))