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

Python循环打印五角星形状出错,寻求代码修正建议

Python打印五角星代码修正建议

你的代码在空格计算逻辑上存在偏差,导致输出的图形和预期的五芒星不符。以下是修正方案:

问题点梳理

  1. 上半部分循环的空格计算(4*10-i)不符合五角星的对称结构,导致左右星号位置偏移;第10行的双段星号布局错误,应该是完整的中间横线。
  2. 下半部分循环的空格计算公式(p*2-9、63-p)完全偏离了五芒星下半部分的收拢逻辑,造成图形严重错位。

修正后的代码

# 打印五角星上半部分(含中间横线)
for i in range(1, 11):
    if i == 1:
        print(' ' * 19 + '*')
    elif i == 10:
        print('*' * 39)
    else:
        space_left = 20 - i
        space_mid = 2 * i - 3
        print(' ' * space_left + '*' + ' ' * space_mid + '*')

# 打印五角星下半部分
for p in range(1, 6):
    space_left = p + 9
    space_mid = 37 - 4 * p
    print(' ' * space_left + '*' + ' ' * space_mid + '*')

代码逻辑说明

  • 上半部分:
    • 第1行:通过19个空格让单个星号居中,对应整个五角星的宽度(39个字符)。
    • 第10行:打印39个连续星号,作为五芒星的中间交叉横线。
    • 中间行:左侧空格随行数增加递减,星号间的空格随行数增加递增,实现上半部分的对称展开。
  • 下半部分:
    • 循环5次对应五芒星的5个下分支,左侧空格随行数增加递增,星号间的空格随行数增加递减,实现下半部分的对称收拢。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 03:32:37