1. 程式人生 > 其它 >第26期-數字金字塔

第26期-數字金字塔

1 問題描述

數字金字塔
按照格式將數字輸出成金字塔形狀
輸出結果要求如下

2 解題思路

總的是兩層for迴圈巢狀,最外層迴圈是根據輸入的數字,來對每行新增空格,內層兩個平行的for迴圈分別用於輸入兩側的數字
也可以使用列表分別輸出數字

3 解題方法

max=int(input('請輸入行數:'))
x=[' ']*(2*max-1)
for i in range(max):
    x[max-1-i]=str(i+1)
    x[max-1+i]=str(i+1)
    print(''.join(x))
View Code

第1行:使用input函式輸入行數,轉換為int整數型別並返回給max
第2行:我們觀察到問題描述中的圖片可以得知每一行的數字個數分別是其行數的兩倍減一,於是建立一個對應長度的列表x,x中的元素全是空格
第3-5行:使用for迴圈遍歷max次,每一次遍歷都改變兩個數變成對應的數字
第6行:列印列表中的空格和數字(注意join函式只能列印字串,所以數字需要轉換成字串型別)

程式碼執行結果為: