2017-10-16 163 views
0

我对数组数据结构相当陌生。我试图在python中打印下面的模式。在Python中减少数字楼梯2.7

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 
+1

添加'内循环后print'打印新的生产线。 – falsetru

+0

虽然不是一个重复的问题,但这可能是有用的阅读https://stackoverflow.com/questions/493386/how-to-print-without-newline-or-space –

+0

@falsetru试过了。似乎无法得到它的工作。你能否提供更详细的解释? –

回答

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