Python如何基于输入整数生成由*组成的嵌套三角形排列图案
嵌套三角形图案生成实现
核心规律梳理
观察给出的示例可总结出分形嵌套的核心规则:
- 输入整数
n对应的图案总宽度为3^n,总共包含n²行 - 图案从上到下分为
n组,每组对应一层嵌套结构,每组包含n行(和单个小三角形的行数一致) - 第
t组(从上到下从0开始计数)中,小三角形重复打印2t + 1次 - 每行的前置空格、单个小三角形的行内容都按
3的幂次等比缩放
完整实现代码
你可以直接使用下方代码实现需求,逻辑完全匹配给出的示例效果:
n = int(input()) total_width = 3 ** n for group in range(n): # 当前组单个小三角形的行宽度 unit_width = 3 ** (n - group) # 每组输出n行,对应小三角形的每一层 for line_idx in range(n): # 当前层的星号数量 star_count = 2 * line_idx + 1 # 单位行内星号前后的填充空格数 unit_pad = (unit_width - star_count) // 2 unit_line = ' ' * unit_pad + '*' * star_count + ' ' * unit_pad # 拼接当前整行内容 full_line = ' ' * unit_pad + unit_line * (2 * group + 1) # 去掉末尾冗余空格不影响视觉效果 print(full_line.rstrip())
效果验证
- 输入
n=2时,输出和题目给出的n=2示例完全一致 - 输入
n=3时,输出和题目给出的n=3示例完全一致
内容的提问来源于stack exchange,提问作者Clover
相关产品推荐
相关产品推荐

