在while循环中打印

时间:2017-03-28 19:26:16

标签: python format

如果我输入一个不等于15的数字,我可以将print语句显示给终端。我希望在输入不是15时显示一条消息,但它不会显示。只有当我进入15岁时,我才会得到#34;正确的猜测"。为什么这不起作用?

x=15
y=10

while x != y:

        y = int(input("Please Try to guess the random number: "))
if y < x:
       print("Low guess")
elif y > x:
    print("High Guess")
else :
    print ("Right Guess!")

3 个答案:

答案 0 :(得分:2)

您的ifelifelse不在while循环中。这意味着它不会在while循环结束后(x == y

运行

您还应该使用描述性变量名称(不是xy

我在手机上,所以我无法测试代码,但我认为工作代码会是:

number = 15
# why did you initialize your `y` to 10?
guess = 0

while guess != number:
    guess = int(input("Guess a number:")) 
    if guess == number:
        print("Yay! You guessed the number")
    elif guess > number:
        print("You guessed too high")
    else:
        print("You guessed too low") 

答案 1 :(得分:0)

我认为您需要缩进if块,以便它包含在while循环中。

答案 2 :(得分:0)

您应该正确缩进代码。
初始化您的值,这些必须与while循环分开,否则您将获得无限循环。

x = 15
y = 10

然后您可以使用正确的标识运行下面的脚本。

while x != y:
    y = int(input("Please Try to guess the random number: "))
    if y < x:
        print("Low guess")
    elif y > x:
        print("High Guess")
    else:
        print ("Right Guess!")

Identation

python的

标识意味着在函数启动和完成时告诉我们:

if x != y:
    # start indent
    print("I'm in if")
    # finish indent
print("I'm out of if")

在那里,缩进告诉我们如果何时开始以及何时结束。因此,第一次打印将受 if 影响而另一次打印不受影响。