如何使用Python递归绘制指定尺寸的矩形?
Python递归绘制矩形实现
要实现递归绘制矩形,核心是拆分打印逻辑,利用递归逐行输出,以下是具体实现方案:
实现思路
递归的核心是终止条件和重复逻辑:
- 终止条件:当当前要打印的行号超过总行数时,停止递归。
- 重复逻辑:
- 第一行和最后一行:打印与宽度相等数量的
* - 中间行:首尾打印
*,中间填充对应数量的空格
- 第一行和最后一行:打印与宽度相等数量的
代码实现
def drawRectangle(width, height): def recursive_print(current_row, total_rows): # 终止条件:所有行打印完成 if current_row > total_rows: return # 打印首尾行 if current_row == 1 or current_row == total_rows: print('*' * width) # 打印中间行 else: print('*' + ' ' * (width - 2) + '*') # 递归打印下一行 recursive_print(current_row + 1, total_rows) # 启动递归,从第1行开始 recursive_print(1, height) # 测试示例 drawRectangle(4, 4)
测试输出
运行上述测试代码后,输出结果如下:
**** * * * * ****
内容的提问来源于stack exchange,提问作者Marc
相关产品推荐
相关产品推荐

