Python列印菱形

2021-09-25 02:31:31 字數 1225 閱讀 5389

使用python列印出菱形:

思想:平常我寫這種**的時候,總是自然地使用二層迴圈,今天老師教了乙個特別好的方法,化二維為一維。我覺得**優化是很重要的,所以把它寫下來,可以慢慢培養自己的演算法思想。

第一行    空格3   *1  (即*個數為7-3*2)

第二行    空格2   *3  (即*個數為7-2*2)

第三行    空格1   *5  (即*個數為7-1*2)

第四行    空格0   *7    

第五行    空格1   *5

第六行    空格2   *3

第七行    空格3   *1

嘻嘻嘻,找規律吧。空格個數可以用range(-n/2,n/2+1)表示,*的個數可以用(n-空格個數*2)表示,這樣就可以用一維表示法來輸出菱形。**如下:

ps:第一次寫csdn,很多不足,定會多多努力,加油加油!

有人問我偶數情況怎麼辦,我想補充一下

每一行的空格個數不變,但*的個數是變化的:

第一行    空格3   * 1  (即* 個數為4-3)

第二行    空格2   * 2  (即* 個數為4-2)

第三行    空格1   * 3  (即* 個數為4-1)

第四行    空格0   * 4  (即* 個數為4-0)

第五行    空格1   * 3

第六行    空格2   * 2

第七行    空格3   * 1

for j in range(-int(n / 2), int(n / 2) + 1):

print(" " * abs(j), "* " * abs(int(n/2)+1 - abs(j)))

和上面有一點不同,列印的時候每乙個*的後面直接跟乙個空格這樣列印出來就是這個樣子:

python菱形節點 Python列印菱形

python列印菱形 閱讀 1637 示例1 usr bin python coding utf 8 根據輸入列印 rows int raw input please input number 列印菱形上半部分 for i in range rows for j in range rows i pr...

python語言列印菱形 Python列印菱形

示例1 usr bin python coding utf 8 根據輸入列印 rows int raw input please input number 列印菱形上半部分 for i in range rows for j in range rows i print j 1 for k in ra...

python語言列印菱形 Python列印菱形

示例1 usr bin python coding utf 8 根據輸入列印 rows int raw input please input number 列印菱形上半部分 for i in range rows for j in range rows i print j 1 for k in ra...