我是Python的新手,我想知道是否能得到一些帮助。我认为一切都正常,除了它输出Guess higher/lower
提示符,然后打印出Enter a number:
,而不是要求第二个Guess higher/lower
提示符。我希望它说的是第二个猜测提示,而不是Enter a number:
我希望这解释得足够好。如果没有,我会更新它。你知道吗
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
语句会更好。它们用于决定某件事,并根据它是真是假,执行一段代码。仔细想想,这正是你要解决的问题的本质。代码如下所示:如果您对
elif
感到困惑,那么如果If语句不为true并且elif后面的条件为true,则执行该语句。你可以有多个elif的。看看任何初学者教程了解更多。你知道吗当你看到重复的时候,请记住干燥的原则(不要重复你自己)。而且,不需要评论明显的事情。你知道吗
a=a+1
和input
。尽量不要重复。你知道吗while
循环是如何工作的。你只有一个循环,所以你只需要一个循环。所以循环将在i == n
时停止,因此这是“Correct”将打印的唯一时间。你知道吗我的最终代码:
相关问题 更多 >
编程相关推荐