在之前的分享中,筆者曾經寫過關於繪製等腰三角形以及從它衍生的菱形(沒看過的朋友可以看我之前的分享:
溫文默克的學習筆記Python篇(3.5)——繪製等腰三角形),今天筆者要說的也是類似的等腰三角形的變形——空心菱形。要想實現空心菱形的繪製,首先需要找到規律。和我們之前講的菱形相比,空心菱形多出了中間這部分。還是分為上下兩部分,以上為例,外層空格的規律如下:
用代碼表示為:
<code>for
i inrange
(half_lines):" "
* (half_lines - i), end=""
)/<code>
然後是繪製菱形主線條的“*”圖案,可以明顯看出,除了首尾每行都是兩個。同時可以看出中間的空格也是首尾沒有,其規律如下:
因此,我們只需要使用if進行判斷,如果是首行或尾行,那麼就只打印一個“*”,否則就按照上面的規律打印空格和前後的兩個“*”,轉換成代碼如下:
<code>if
i ==0
:"*"
)else
:"*"
,end
=""
)" "
* (2
* i -1
),end
=""
)"*"
)/<code>
最後是同理打印下半部分,這裡不再進行過多贅述,筆者提供一種方式供大家參考:
<code>for
iin
range(half_lines -1
):" "
* (i +2
),end
=""
)if
i == half_lines -2
:"*"
)else
:"*"
,end
=""
)" "
* (lines
-4
-2
* i),end
=""
)"*"
)/<code>
我們再使用input()函數輸入我們想要的行數,半行就等於行數除以2後取整加一。這樣一來,空心菱形的繪製就完成了,不過記得輸入的需要是奇數,否則無法得到想要的結果,至於輸入偶數實現空心菱形的變換就要更改一下空心的規律了,感興趣的朋友可以自己試驗一下。