Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中打印两个卡钻_Python_Python 3.x - Fatal编程技术网

如何在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):

我想写一个python程序来打印上面的形状(我是python新手) 但是我已经写了单钻石的程序,现在我有一个问题要解决, 你会指导寻找算法吗

  *    *
 ***  ***
**********
 ***  ***
  *    *
这是一颗钻石:

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)
  *    *  
 ***  *** 
**********
 ***  *** 
  *    *