繁体   English   中英

我只想打印三角形的最后一层

[英]I want to print the last level of the triangle only

x = 5
l = [1]

for i in range(x):

    print(l)
    newlist = []
    newlist.append(l[0])

    for i in range(len(l) - 1):
        newlist.append(l[i] + l[i+1])

    newlist.append(l[-1])
    l=newlist

上面的代码只给我 output 作为直角三角形。

Output:

[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]

但我只想打印三角形的最后一层。 但我不知道如何实现它。 请帮我解决一下这个。

所需的 Output:

[1, 4, 6, 4, 1]

print()调用拉到循环之外。 而且您实际上需要少一次迭代来获得结果,因此在for...行中将x更改为x - 1

x = 5
l = [1]

for i in range(x - 1):
    newlist = []
    newlist.append(l[0])
    for i in range(len(l) - 1):
        newlist.append(l[i] + l[i+1])
    newlist.append(l[-1])
    l=newlist

print(l)

将行print(l)移到 for 循环之外,以确保仅在完成后才打印

您正在循环内打印,在添加的每个元素之间。 如果您只想打印最终结果,请将打印移动到循环之后。

x = 5
l = [1]
for i in range(x):
    newlist = []
    newlist.append(l[0])
    for i in range(len(l) - 1):
        newlist.append(l[i] + l[i+1])
    newlist.append(l[-1])
    l=newlist
print(l)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM