python 2.7 中的递减数字阶梯

Decreasing Number staircase in python 2.7

我对数组数据结构还很陌生。我正在尝试在 python 中打印以下模式。

12345
1234
123
12
1

这是我的代码:

a = [1,2,3,4,5]
n = len(a)
for i in range(n, 0, -1):
    for j in range(i):
        print a[j],

输出:我收到了正确的订单。我似乎无法以所需的格式安排答案。有什么建议吗?

1 2 3 4 5 1 2 3 4 1 2 3 1 2 1

如果您真的只是对学习列表操作感兴趣,而不需要您所显示的输出,您可以考虑使用基本列表索引的这种方法:

for i in range(n, 0, -1):
    print(a[:i])

输出:

[1, 2, 3, 4, 5]
[1, 2, 3, 4]
[1, 2, 3]
[1, 2]
[1]

按照这些思路,您可以通过将每一行中的值转换为类型 str、连接每一行的字符,然后打印来获得指定的输出:

for i in range(n, 0, -1):
    print(''.join(str(el) for el in a[:i]))

输出:

12345
1234
123
12
1