def guess(n):
import random
x = random.randint(1,1000000)
while n != x:
if n < x:
print("Too Low, Try Again")
elif n > x:
print("Too High, Try Again")
if n == x :
print("Congrats")
again = print(input(str("Play Again Y/N?: ")))
if again == Y:
n = print(input(str("Input Number 'n': ")))
print(guess(n))
elif again == N:
print("Goodbye")
如果条件匹配,我如何使while循环停止循环并移动到我已声明的下一个条件。谢谢!
答案 0 :(得分:1)
使用break
语句(它终止最近的封闭循环),例如
if n < x:
print("Too Low, Try Again")
elif n > x:
print("Too High, Try Again")
else:
break
答案 1 :(得分:0)
您需要调用新输入才能更改n
。在while
语句中,n永远不会重新定义。
尝试:
def guess(n):
import random
x = random.randint(1,1000000)
while n != x:
if n < x:
print("Too Low, Try Again")
elif n > x:
print("Too High, Try Again")
n = print(input(str("Input Number 'n': ")))
如果你想停止循环...使用break
if my_condition:
break
将停止你的循环。它也适用于for循环。
但是,当n
结束x ==n
声明时,会要求while
的新值。
答案 2 :(得分:0)
您可以使用break
提前退出循环。我不确定你的“下一个条件”是什么意思,但在正常的“休息”之后,只会在循环后立即开始。 Python也有一个很好的构造,你可以在循环之后放置一个“else”子句,只有当Loop正常退出时才会运行。
答案 3 :(得分:0)
我写的是这样的:
import random
def guess():
x = random.randint(1,1000000)
n = x + 1 # make sure we get into the loop
while n != x:
n = input(str("Input Number 'n': "))
if n < x:
print("Too Low, Try Again")
elif n > x:
print("Too High, Try Again")
else:
print("Congrats")
break
if __name__ == '__main__':
while True:
guess()
again = input(str("Play Again Y/N?: ") == 'N'
if not again:
break
答案 4 :(得分:0)
如前所述,对于语句“while ...”以及“if x == n”,您的缩进是不正确的。将其移动到右侧的两个选项卡,因为您要运行循环直到玩家想玩游戏。在你给定的代码中,循环运行的地方没有增加x。现在关于破坏条件,你可以尝试这样的事情。
else:
print("Goodbye")
break