介紹兩種使用while循環打印等腰三角形的例子,如下圖所示
第一種方式:分成兩個矩形處理,如下圖
python代碼如下:
''' 練習,打印等腰三角形如下: * *** ***** 觀察發現,該等腰三角形由空格和*號組成,可以分為左右兩部分(列數為3 和 列數為2 兩部分,行數都為3行) ''' row = 1 while row <= 3: # 外層循環控制行數 # print(row) a = 1 # 打印左半部分 列數為3的部分,而左半部分又分為上下兩部分 while a <= 3: # 打印 1~3列 if a <= 3 - row: print (' ', end='') # end=''表示不換行 else: print ('1', end='') a += 1 b = 1 while b < 3: #打印 4~5列,循環兩次 if b < row: print('1', end='') pass else: print(' ', end='') b += 1 row += 1 print ('\n')
第二種方式,左邊打印空格,右邊利用規律打印1,規律如下,每行的1的個數為行數的2倍-1
python代碼如下:
# 打印等腰三角形的第二種方式 row = 1 # row代表行數 while row <= 3: # 外層循環 1~3 循環三次 m = 1 while m <= 3-row : # 打印左邊空格 print(' ', end='') m += 1 pass n = 1 while n <= 2*row-1: # 打印1 print('1', end='') n += 1 pass row += 1 # 控制行數的變量自增 print('\n')
總結:第二種方式打印方式,利用了每行1的個數跟行數之間的關系,相對簡單一些。