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

Python打印指定星形图案求助:现有代码输出不符预期

解决星形图案打印问题

原代码存在几个问题导致输出不符合预期:

  • 外层循环执行6次,而预期图案仅需4行
  • 内层循环的print未设置end='',导致每个星号段单独换行
  • 未处理星号间的空格,无法生成* * *这类带间隔的格式

以下是修改后的代码,可直接实现预期图案:

for i in range(1, 5):
    # 打印每行前置空格,数量逐行递减1个
    print(" " * (4 - i), end="")
    # 打印带空格分隔的星号,数量逐行递增1个
    print(" ".join(["*"] * i))

代码逻辑说明:

  • range(1,5)控制循环4次,对应图案的4行
  • 4 - i计算每行开头的空格数:第1行3个空格,第2行2个,第3行1个,第4行0个
  • " ".join(["*"] * i)将i个*用空格连接,生成符合要求的星号段

也可以用更简洁的写法:

for i in range(1, 5):
    print(" " * (4 - i) + " ".join(["*"] * i))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 17:31:03