1、正金字塔
如圖:
代碼如下:
level=int(input("請輸入行數:")) # 方式一: for current_level in range(1,level+1): #控制空格個數 for i in range(level-current_level): print(' ',end='') #控制*個數 for j in range(2*current_level-1): print('*',end='') print() #方式二: for i in range(1,level+1): print( ' '*(level-i)+'*'*(2*i-1) )
2、倒金字塔
如圖所示:
代碼如下:
level=int(input("輸入行數:")) #方法1 for current_level in range(0,level): #控制空格個數 for i in range(current_level+1): print(' ',end='') #控制*個數 for j in range(level-2*current_level): print('*',end='') print() #方法2 for i in range(level): print(' '*i+'*'*(level-2*i))
此兩種方法有缺陷,行數只能輸入奇數,輸入偶數會出現少行的現象。如圖所示:
優化代碼如下:
#與正金字塔相對應 for i in range(level): print(' '*i+'A'*(2*level-2*i-1))
測試結果如下: