我是 Python 新手,我想知道是否可以获得一些帮助。我认为一切正常,除了输出 Guess upper/lower
提示,然后打印出 Enter a number:
而不是要求第二个 Guess upper/lower
提示。我希望它说出第二个猜测提示,而不是输入数字:
我希望这已经解释得足够好了。如果没有,我会更新它。
from random import randint
N=randint(0,100)
i=1000
a=0
n=int(N)
while i!=n:
I=int(input('Enter a number: '))
i=int(I)
a=a+1
while i>n:
i=int(input('Guess lower: '))
a=a+1
while i<n:
i=int(input('Guess Higher: '))
a=a+1
while i==n:
print('Correct')
print('You took',a,'attempts.')
break
最佳答案
您想要的行为不是 while
循环的工作。 While 循环用于迭代执行一段代码,直到满足条件。虽然严格来说,这对于您的代码来说是正确的,但您实现的嵌套和代码的整体结构是不正确的。
如果使用 if
和 else
语句会更好。它们用于决定某件事,并根据它是真是假来执行一段代码。如果你仔细想想,这正是你试图解决的问题的本质。代码看起来像这样:
from random import randint
N=randint(0,100)
i=1000
a=0
n=int(N)
#Ask for initial input
i=int(input('Enter a number: '))
a=a+1
#Start loop that loops until i == n
while i!=n:
if i>n:
i=int(input('Guess lower: '))
a=a+1
elif i<n:
i=int(input('Guess Higher: '))
a=a+1
else:
print('Correct')
print('You took',a,'attempts.')
如果您对 elif
感到困惑,它是一个在 if 语句不为 true 并且 elif 后面的条件为 true 时执行的语句。你可以有多个 elif。查看任何初学者教程以了解更多信息。
关于python - 在嵌套 while 循环之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43579077/