Python如何不声明n变量 用嵌套循环打印右对齐倒三角形
问题背景
需要使用Python打印如下右对齐倒三角形图案:
*** ** *
实现强制约束:
- 必须使用至少两层嵌套循环
- 不能单独声明额外计数变量
n来控制前置空格输出
原有可运行代码通过单独定义变量n累计空格数实现效果,需要优化逻辑去掉独立的n变量。
优化实现方案
不需要额外定义计数变量,直接利用外层循环的行索引值计算当前行需要的前置空格数量即可,优化后代码如下:
for row in range(3): # 第一层内层循环:打印当前行前置空格,第row行对应row个空格 for _ in range(row): print(" ", end="") # 第二层内层循环:打印当前行星号,第row行对应3-row个星号 for _ in range(3 - row): print("*", end="") # 每行内容输出完成后换行 print()
逻辑说明
- 外层循环遍历0-2的行索引,索引值
row本身就可以直接表示当前行需要输出的空格数量,完全替代原代码中单独累计的n变量,没有额外冗余变量。 - 两层内层循环分别负责空格、星号的打印,满足嵌套循环的强制要求,运行后输出的图案和原代码效果完全一致。
内容的提问来源于stack exchange,提问作者DOMINi04
相关产品推荐
相关产品推荐

