带有计数变量的循环-试图找出它的结束位置



我应该键入程序输出。输入为6.3

target = int(input())
n = int(input())
while n <= target:
print(n * 2)
n += 1 
My output - 6

我的推理-3<6,因此代码将贯穿始终。3*2=6,所以打印出6。然后我们做6+=1,也就是7。7不是<=6,所以代码不应该再次运行。

The expected output: 
6
8
10
12

n+=1是n=n+1的简写。当n大于目标时,循环结束。

有人能告诉我哪里出了问题吗?

print(n * 2)不影响n的值。由于我们没有将n * 2放在n的值中,因此n的值仅随n += 1而变化。

target = int(input())
n = int(input())
while n <= target:
n = n * 2
print(n)
n += 1

这是printreturn语句之间的主要区别
使用return更改程序的流程。使用打印不会

def func(target,n):
while n <= target:
return (n * 2)
n += 1 
target = int(input())
n = int(input())
print(func(target,n))

参见此处

自从你去年发布问题以来,这可能有点晚了,但我昨晚遇到了同样的问题好几个小时,无法自己解决。所以,我在谷歌上搜索了一下,你的问题(在任何地方都没有答案(出现在这里。所以我一直在工作。最后,我几分钟前就想好了,我将在这里写下我的解决方案:

我以我的第二输入n=3开始该过程,并且由于n<6,它经过第一个循环:3*2=6然后我必须增加我的"n",但在它到达我的目标(6:(之前停止

(3*2(=6((3+1(*2(=8(((3+1(+1(*2(=10注意,我增加的n(括号内(是5,仍然小于6,所以我继续

((((3+1(+1((*2(=12这是我必须停止的时候,因为我增加的n已经达到6<6.所以我的回答是:6.8.1012

最新更新