【问题标题】:inverted pyramid of asterisk using recursion in python在python中使用递归的星号倒金字塔
【发布时间】:2020-12-22 10:24:34
【问题描述】:
     ************
      **********
       ********
        ******
         ****
          **

以上代码:

j=0
k=12
for i in range(6):
    print(' '*(j),end=' ')
    print('*'*k,end=' ')
    j+=1
    k-=2
    print()

但我需要使用递归打印上面的金字塔,并确保空格和星号都如图所示对齐。

【问题讨论】:

  • 这能回答你的问题吗? Pyramid of asterisks program in Python
  • @ShoaibK.我需要通过递归而不是循环来专门解决它
  • 好的,那么您尝试过什么递归解决方案?你了解递归的概念吗?这里有什么问题?

标签: python recursion


【解决方案1】:

此递归函数打印与您的示例相同的形状:

width = 12

def printRow(i):
    print(' ' * i, end=' ')
    print('*' * (width - i * 2), end=' ')
    print()
    if (i < width // 2): printRow(i+1)

printRow(0)

【讨论】:

  • 能否解释一下倒数第二行 if(i
  • 行数是列数的一半 (width // 2),因此一旦i 达到该值,递归调用必须停止
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-22
  • 2015-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多