如何用Python打印金字塔



如何制作金字塔?

我需要做一个函数,打印一个完整的金字塔。

例如

(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)
.        
.....      
.........    
.............  
.................

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

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

输出

------.------
----.....----
--.........--
.............
# Function to demonstrate printing pattern triangle 
def triangle(n): 
# number of spaces 
k = 2*n - 2
# outer loop to handle number of rows 
for i in range(0, n): 
# inner loop to handle number spaces 
# values changing acc. to requirement 
for j in range(0, k): 
print(end=" ") 
# decrementing k after each loop 
k = k - 1
# inner loop to handle number of columns 
# values changing acc. to outer loop 
for j in range(0, i+1): 
# printing stars 
print("* ", end="") 
# ending line after each row 
print("r") 
# Driver Code 
n = 5
triangle(n) 

最新更新