如果我输入一个不等于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!")
答案 0 :(得分:2)
您的if
,elif
和else
不在while循环中。这意味着它不会在while循环结束后(x == y
)
您还应该使用描述性变量名称(不是x
和y
)
我在手机上,所以我无法测试代码,但我认为工作代码会是:
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!")
标识意味着在函数启动和完成时告诉我们:
if x != y:
# start indent
print("I'm in if")
# finish indent
print("I'm out of if")
在那里,缩进告诉我们如果何时开始以及何时结束。因此,第一次打印将受 if 影响而另一次打印不受影响。