如何使用Python递归实现格式对齐的星号倒金字塔打印
递归实现指定格式倒星号金字塔的Python方案
对齐规则说明
要完全匹配示例的输出效果,需要严格遵循原循环的打印逻辑:
- 逐行打印6行内容
- 每一行的前置空格数逐行+1,星号总数量逐行-2
- 每一行的打印格式完全和原循环一致,不能调整print的分隔、换行参数,避免出现缩进偏移
递归实现代码
def inverted_pyramid(curr_space=0, curr_star=12, remain_lines=6): # 终止条件:剩余行数为0时结束递归 if remain_lines == 0: return # 逐行打印逻辑完全复刻原循环代码 print(' ' * curr_space, end=' ') print('*' * curr_star, end=' ') print() # 参数更新规则和原循环内的变量变化完全对齐 inverted_pyramid(curr_space + 1, curr_star - 2, remain_lines - 1) # 启动打印 inverted_pyramid()
参数对齐校验:递归函数的默认入参完全匹配原循环的初始值
j=0、k=12、循环总次数6次,每一层递归的参数更新和循环内的j +=1、k -=2、循环计数递减逻辑完全一致,不存在格式偏移。
输出效果说明
运行上述代码后,输出内容和示例效果逐行匹配:
- 第一行前置0个空格、打印12个星号,和示例第一行格式一致
- 逐行推进至最后一行时,前置5个空格、打印2个星号,缩进位置、星号长度完全和示例对齐,没有错位。
内容的提问来源于stack exchange,提问作者Priyanka Govindarajan
相关产品推荐
相关产品推荐

