第4類:進階控制流程

TQC+ 程式語言Python 410 繪製等腰三角形

題目說明:

請撰寫一程式,依照使用者輸入的n,畫出對應的等腰三角形。

範例輸入

7

範例輸出

      *
     ***
    *****
   *******
  *********
 ***********
*************
 

程式碼:

n = eval(input())

for i in range(n):
    for j in range(n - i - 1):
        print(' ', end='')
    for k in range(i * 2 + 1):
        print('*', end='')
    print('')

 

TQC+ 程式語言Python 第4類:進階控制流程








如果覺得文章內容還不錯的話,麻煩請幫我點個讚!感謝
可以多點幾次喔~~
第一次點讚需使用 Google 或 Facebook 帳號註冊

5 則留言

    • JamesBang

      星星圖案是學程式語言的基本練習,主要使用 “雙層迴圈”(迴圈裡再放迴圈) 來解題。

      最外層的迴圈控制列數,例如範例輸入 7,輸出的列數就有七列,最外層迴圈 i 要跑 7 次。

      最外層迴圈底下還有兩個迴圈 j 和 k,一個要輸出空白、另一個輸出星號。

      迴圈 j 和 k 的範圍,會根據要印出的數量而有所不同,
      以 k 來講解:迴圈 k 我要印出星號,然後看範例輸出我們知道,最外層迴圈跑第一次的時候,星號印出一個,再來是 3、5、7、9……,也就是說最外層迴圈跑第一次的時候,迴圈 k 要跑 1 次、最外層迴圈跑第二次的時候,迴圈 k 要跑 3 次…… 後面以此類推,公式我用 i * 2 + 1,i 跑第一次時值為 0、跑第二次值為 1、第三次為 2… ,你將最外層迴圈 i 的值代入進去,就會得到 1、3、5、7、9…… (可以拿紙來寫比較好理解);

      印出空白一樣原理,如果輸入 7 那麼第一次就要印出 6 個空白。
      P.S. 根據輸入的列數,第一行的空白數會不一樣哦~

      然後在 print 時使用 end=”,這樣就不會斷行,可以讓星星連在一起,等每一列的空白和星星都印好後,最底下再用 print(”) 斷行。

JamesBang 發表迴響取消回覆