iT邦幫忙

2022 iThome 鐵人賽

DAY 9
0
AI & Data

30天帶你從零基礎到Python爬蟲系列 第 9

[Day9] 迴圈小試身手 - 繪製星號三角形

  • 分享至 

  • xImage
  •  

昨天講完迴圈馬上就來練習一下,今天要做的這個練習相信大家在初學的時候一定會做,就是繪製星號三角形

靠右版

layer = 10
i = 0
while i < layer:
    print(" " * (layer-i-1) + "*" * (i+1))
    i = i + 1
'''
會顯示下面這樣
         *
        **
       ***
      ****
     *****
    ******
   *******
  ********
 *********
**********
'''

這還可以寫成一個更整齊的版本。

整齊版

把原本print裏的空格變成變數內容,這樣如果你需要換成其他符號時可以更輕易找到並且修改。

left, right = " ", "*"
layer = 10
i = 0
while i < layer:
    left_count = layer - i - 1
    right_count = i + 1
    print(left * left_count + right * right_count)
    i = i + 1

其實找到它的規律之後就可以很輕易的把它變形,我再放幾個變形的練習,你也可以自己找找看有沒有什麼更簡單的寫法喔。

倒三角

left, right = " ", "*"
layer = 10
i = 0
while i < layer:
    left_count = i
    right_count = layer - i
    print(left * left_count + right * right_count)
    i = i + 1
'''
會顯示下面這樣
**********
 *********
  ********
   *******
    ******
     *****
      ****
       ***
        **
         *
'''

等腰三角形

left, mid, right = " ", "*", " "
layer = 10
i = 0
while i < layer:
    lcount = layer - i - 1
    mcount = 2 * i + 1
    rcount = lcount
    print(left * lcount +
          mid * mcount + 
          right * rcount)
'''
會顯示下面這樣
         *         
        ***        
       *****       
      *******      
     *********     
    ***********    
   *************   
  ***************  
 ***************** 
*******************
'''

平行四邊形

left, mid, right = " ", "*", " "
layer = 10
i = 0
while i < layer:
    lcount = layer - i - 1
    mcount = 2
    rcount = i
    print(left * lcount +
          mid * mcount + 
          right * rcount)
    i = i + 1
'''
會顯示下面這樣
         **
        ** 
       **  
      **   
     **    
    **     
   **      
  **       
 **        
**      
'''

好了那今天就到這裡吧,自己玩玩看是不是發現蠻好玩的呢~


上一篇
[Day8] 讓一件事一直重複執行- Python迴圈
下一篇
[Day10] 迴圈小試身手 - 確認座標位置 & 取商數
系列文
30天帶你從零基礎到Python爬蟲30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言