我想寫一個python程序來打印上面的形狀(我是python的新手),但是我已經(jīng)編寫了單菱形的程序,現(xiàn)在我有一個問題要解決這個問題,你會指南找到算法嗎? * * *** ************* *** *** * *這是單顆鉆石:def Diamond(rows): n = 0 for i in range(1, rows + 1): for j in range (1, (rows - i) + 1): print(end = " ") while n != (2 * i - 1): print("*", end = "") n = n + 1 n = 0 print() k = 1 n = 1 for i in range(1, rows): for j in range (1, k + 1): print(end = " ") k = k + 1 while n <= (2 * (rows - i) - 1): print("*", end = "") n = n + 1 n = 1 print() rows = int(input())Diamond(rows)
2 回答

守著一只汪
TA貢獻(xiàn)1872條經(jīng)驗 獲得超4個贊
我很無聊,你來了。
In [36]: def print_diamonds(width, ds):
...: r = width//2
...: for i in range(-r, r+1):
...: print((' '*(abs(i)) + '*'*((r-abs(i))*2+1) + ' '*(abs(i)))*ds)
...:
In [37]: print_diamonds(5, 2)
* *
*** ***
**********
*** ***
* *

臨摹微笑
TA貢獻(xiàn)1982條經(jīng)驗 獲得超2個贊
您的問題很模糊,但這是每條線一顆鉆石的函數(shù)。我不確定你期待什么。要明確。
vect = ('*', '***', '*****', '***', '*')
def method():
for i in range(0,5):
print(abs((2-i))*" ",vect[i])
添加回答
舉報
0/150
提交
取消