You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python打印左对齐直角星号三角形 现有实现是否合理及其他实现方法

问题解答

原代码合理性评价

你的代码可以输出预期的星号三角形,但存在明显的逻辑冗余:内层for循环没有实际起到遍历列的作用,每轮外层循环都会执行5次判断,仅1次满足条件生效,剩下4次都是无效运行,资源利用率很低,不算合理方案。

其他实现思路

1. 最简单循环实现(最常用方案)

直接利用Python字符串的乘法特性,无需内层循环,逻辑清晰高效:

for row in range(1, 6):
    print('* ' * row)

2. 一行代码实现

用列表推导式加字符串拼接,适合追求简洁写法的场景:

print('\n'.join(['* ' * i for i in range(1, 6)]))

3. 标准双重循环实现(适合嵌套循环练习场景)

如果你是为了练习嵌套循环的逻辑,内层循环应该直接控制每行打印的星号数量,不需要额外判断:

for row in range(1, 6):
    # 内层循环次数和当前行数一致,逐个打印星号
    for col in range(row):
        print('*', end=' ')
    # 每行打印完成后换行
    print()

内容的提问来源于stack exchange,提问作者user17344362

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 11:36:03