【发布时间】:2022-01-18 14:52:26
【问题描述】:
这是我写的普通代码,这段代码有我想要的输出
a = [1,1,2,3,5,8,4,13,21,34,55,89]
less5num = []
for i in a:
if i < 5:
less5num.append(i)
less5num.sort()
print(less5num)
Output
[1, 1, 2, 3, 4]
现在,如果我在 if 循环中继续打印,我会得到一个数字金字塔
a = [1,1,2,3,5,8,4,13,21,34,55,89]
less5num = []
for i in a:
if i<5:
less5num.append(i)
less5num.sort()
print(less5num)
Output
[1]
[1, 1]
[1, 1, 2]
[1, 1, 2, 3]
[1, 1, 2, 3, 4]
如果我不打印 if 循环,我会得到一个递归数字金字塔
a = [1,1,2,3,5,8,4,13,21,34,55,89]
less5num = []
for i in a:
if i<5:
less5num.append(i)
less5num.sort()
print(less5num)
Output
[1]
[1, 1]
[1, 1, 2]
[1, 1, 2, 3]
[1, 1, 2, 3]
[1, 1, 2, 3]
[1, 1, 2, 3, 4]
[1, 1, 2, 3, 4]
[1, 1, 2, 3, 4]
[1, 1, 2, 3, 4]
[1, 1, 2, 3, 4]
[1, 1, 2, 3, 4]
为什么会这样?
【问题讨论】:
标签: python for-loop if-statement