【发布时间】:2023-01-20 23:00:32
【问题描述】:
我想要打印下面的图案使用递归并且不必(严格)使用任何循环。
* * * * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * *
* * * * * * * *
* * * * * *
* * * *
* *
* * * *
* * * * * *
* * * * * * * *
* * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * * * *
我没有使用递归就做到了
n = 7
for i in range(n,0,-1):
for j in range(i,0,-1):
print("*",end=" ")
for j in range(2*(n-i)):
print(" ",end=" ")
for j in range(i,0,-1):
print("*",end=" ")
print()
for i in range(1,n):
for j in range(i+1):
print("*",end=" ")
for j in range(2*(n-i-1)):
print(" ",end=" ")
for j in range(i+1):
print("*",end=" ")
print()
谁能帮忙打印相同的图案使用递归而不使用任何循环(严格)
我试过使用递归但无法正确打印它并且无法进一步可视化代码 使用递归的代码:
def print_pattern(n, row=0):
if row == n:
return
print("* "*(n - row) + " "*(2*row) + "* "*(n - row))
print_pattern(n, row + 1)
if row != 0:
print("* "*(n - row) + " "*(2*row) + "* "*(n - row))
n = 5
print_pattern(n)
【问题讨论】: