即使它是正确的,这个程序说错了,当错误的时候我怎么做这个循环呢?

时间:2014-12-23 19:34:21

标签: 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");

2 个答案:

答案 0 :(得分:3)

这个guess = input("Guess a number 1 to 100");会给你一个字符串。因此,如果您输入4,该计划将会比较'4' == 4 False

使用:

guess = int(input("Guess a number 1 to 100"))

答案 1 :(得分:2)

您正在将字符串与整数进行比较。因此,在这种情况下,x是一个整数,而guess是一个字符串。

您可以将guess转换为字符串,方法是将其转换为整数。

guess = int(input("Guess a number 1 to 100"));

在Python 3.0之前,输入语句会自动评估输入以将其转换为整数(输入字符串的评估已完成),但在python 3.0中,始终返回一个字符串。

  

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

在此处查看更多内容:http://faculty.salina.k-state.edu/tim/NPstudy_guide/python/pyio.html#basic-i-o-reading-data