初学者嵌套循环 Python
Beginner Nested Loops Python
这里是 Uni 学习 Python 编程入门 class 的初学者。我在循环之前了解了大部分内容,现在我很困惑。
有人可以解释为什么这会创建它输出的模式吗?
for i in range(1, 7):
for j in range(6, 0, -1):
print(j if j <= i else " ", end = " ")
print()
外循环触发器和 (i = 1
)
然后内部循环触发和 (j = 6
)
那么它不会打印 j
(6) 因为 6 <= 1
是 False
并打印 2 个空格。
那么此时内循环是否结束,然后回到外循环进行下一次迭代?
还是内循环继续直到 6-1 命中 1?
并且如果内循环继续,i
是在整个内循环中保持 1 还是在每次内循环迭代中都上升?
我真的希望这是有道理的。谢谢!
内部循环一直持续到耗尽,倒计时 j
从 6 到 5,再到 4 等等,直到最后一次迭代 j
为 0。虽然它确实所以外循环不会进行:i
保持为 1。只有内循环完成后,外循环才有机会重复。然后 i
前进到 2
并且内部循环再次从 6 开始。
第一个外循环:i = 1
内循环迭代:j = 6, 5, 4, 3, 2, 1
并且是假的,假的,假的,假的,假的,真
所以产生“1”
第二个外循环:i = 2
内循环迭代:j = 6, 5, 4, 3, 2, 1
并且是假的,假的,假的,假的,真的,真的
所以产生“ 2 1”
第三个外循环:i = 3
内循环迭代:j = 6, 5, 4, 3, 2, 1
并且是假,假,假,真,真,真
所以产生“ 3 2 1”
等等
这里是 Uni 学习 Python 编程入门 class 的初学者。我在循环之前了解了大部分内容,现在我很困惑。
有人可以解释为什么这会创建它输出的模式吗?
for i in range(1, 7):
for j in range(6, 0, -1):
print(j if j <= i else " ", end = " ")
print()
外循环触发器和 (i = 1
)
然后内部循环触发和 (j = 6
)
那么它不会打印 j
(6) 因为 6 <= 1
是 False
并打印 2 个空格。
那么此时内循环是否结束,然后回到外循环进行下一次迭代?
还是内循环继续直到 6-1 命中 1?
并且如果内循环继续,i
是在整个内循环中保持 1 还是在每次内循环迭代中都上升?
我真的希望这是有道理的。谢谢!
内部循环一直持续到耗尽,倒计时 j
从 6 到 5,再到 4 等等,直到最后一次迭代 j
为 0。虽然它确实所以外循环不会进行:i
保持为 1。只有内循环完成后,外循环才有机会重复。然后 i
前进到 2
并且内部循环再次从 6 开始。
第一个外循环:i = 1 内循环迭代:j = 6, 5, 4, 3, 2, 1 并且是假的,假的,假的,假的,假的,真 所以产生“1”
第二个外循环:i = 2 内循环迭代:j = 6, 5, 4, 3, 2, 1 并且是假的,假的,假的,假的,真的,真的 所以产生“ 2 1”
第三个外循环:i = 3 内循环迭代:j = 6, 5, 4, 3, 2, 1 并且是假,假,假,真,真,真 所以产生“ 3 2 1”
等等