【发布时间】:2020-10-09 15:18:31
【问题描述】:
我试图实现这个输出:
0;12
1;24
2;36
3;48
4;60
...但我明白了:
0;12
1;12
2;12
3;12
4;12
代码如下:
iter = 0
count = 0
letter = 0
for iter in range(5):
while letter < len("hello, world"):
letter+=1
count+=1
print("Iteration " + str(iter) + "; count is: " + str(count))
我设法通过在 print 语句中添加 count*(iter+1) 而不是 count 来解决此问题,但我想了解的是为什么每次 new for 时 count 变量都会重置 迭代开始。
提前致谢。
【问题讨论】:
-
;后面的数字的构造规则是什么?总是i += 12? -
第一个
while完成后,字母等于hello world的长度,所以count在第二次及以后的交互中永远不会增加。那么(在哪里)你应该(重新)初始化letter? -
看起来您的代码和预期的输出不匹配
-
初始化
iter是不必要的。 for-lops 为你做可变的东西。 -
@mrblewog 你说得对,我应该在每次完成 while 迭代后初始化(重置)letter。 for 和 while 语句之间
letter = 0
标签: python loops for-loop while-loop nested-loops