如何用Python打印金字塔?

如何用Python打印金字塔?,python,Python,如何制作金字塔 我需要做一个函数,它可以打印出一个完整的金字塔 比如说 13是棱锥体的底部宽度,1是顶行的宽度 pyramid(13, 1) 结果: . ..... ......... ............. 步长应为4,因此每行与最后一行相差4点 编辑: 到目前为止,这就是我所拥有的,但我只得到了金字塔的一半,而底部并不是它应该的样子 def pyramid(a, b): x = range(b, a+1, 4) for i in

如何制作金字塔

我需要做一个函数,它可以打印出一个完整的金字塔

比如说

13是棱锥体的底部宽度,1是顶行的宽度

pyramid(13, 1)
结果:

       .

     .....

   .........

 ............. 
步长应为4,因此每行与最后一行相差4点

编辑:

到目前为止,这就是我所拥有的,但我只得到了金字塔的一半,而底部并不是它应该的样子

def pyramid(a, b):
    x = range(b, a+1, 4)
    for i in x:
        print(" "*(a-i) + "."*(i))

pyramid(17,1)
试试这个:

def pyramid(a, b):
    for i in range(b,a+1,4) :
        print(str( " " *int((a-i)/2) )+ "."*(i)+ str( " " *int((a-i)/2) ))
输出:

pyramid(17,1)

        .        
      .....      
    .........    
  .............  
.................

以下是我的贡献,使用-character而不是空格,以实现更好的可视化:

def pyramide(base, top, step=4):
    dot = "."
    for i in range(top, base+1, step):
        print((dot*i).center(base, "-"))

pyramide(13,1)
输出


到目前为止,您尝试了什么?您需要编写一些代码;看来你还没有写过。
def pyramide(base, top, step=4):
    dot = "."
    for i in range(top, base+1, step):
        print((dot*i).center(base, "-"))

pyramide(13,1)
------.------
----.....----
--.........--
.............