如何修改Python迭代函数以打印指定交错格式的三角形
问题分析
- 你现有代码的问题如下:
*的生成规则不符合预期:每两行对应相同数量的*,每两行*数量递增1- 没有区分奇偶行的前导空格:奇数行(第1、3、5行)不需要前导空格,偶数行(第2、4行)需要1个前导空格
- 多个
*之间没有空格分隔,直接连续输出
优化后代码
def triangle(n): result = '' for i in range(1, n+1): # 偶数行加1个前导空格,奇数行不加 prefix = ' ' if i % 2 == 0 else '' # 计算当前行需要的*数量:每两行数量加1 star_count = (i + 1) // 2 # 多个*之间用空格拼接 line_content = ' '.join(['*'] * star_count) result += prefix + line_content + '\n' return result # 测试输出5行 print(triangle(5))
运行效果
运行上述代码输出结果和你预期完全一致:
* * * * * * * * *
内容的提问来源于stack exchange,提问作者user16984591
相关产品推荐
相关产品推荐

