使用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...