如何在python中打印两个卡钻
我想写一个python程序来打印上面的形状(我是python新手) 但是我已经写了单钻石的程序,现在我有一个问题要解决, 你会指导寻找算法吗如何在python中打印两个卡钻,python,python-3.x,Python,Python 3.x,我想写一个python程序来打印上面的形状(我是python新手) 但是我已经写了单钻石的程序,现在我有一个问题要解决, 你会指导寻找算法吗 * * *** *** ********** *** *** * * 这是一颗钻石: def Diamond(rows): n = 0 for i in range(1, rows + 1): for j in range (1, (rows - i) + 1):
* *
*** ***
**********
*** ***
* *
这是一颗钻石:
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)
def菱形(行):
n=0
对于范围(1,行+1)中的i:
对于范围(1)(行-i)+1)内的j:
打印(end=”“)
而n!=(2*i-1):
打印(“*”,end=“”)
n=n+1
n=0
打印()
k=1
n=1
对于范围内的i(1行):
对于范围(1,k+1)内的j:
打印(end=”“)
k=k+1
虽然你的问题很模糊,但这里有一个每行一个菱形的函数。我不知道你期待什么。更明确些
vect = ('*', '***', '*****', '***', '*')
def method():
for i in range(0,5):
print(abs((2-i))*" ",vect[i])
我很无聊,给你
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)
* *
*** ***
**********
*** ***
* *