2017-10-16 165 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