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

Python初学者求助:如何调整现有代码实现指定样式的星号图案打印

星号打印代码修改方案

现有代码问题

  • 打印星号时设置了end = " ",每个星号之间会多出空格,目标图案的星号是连续无间隔的,需要把结尾参数改为空字符串
  • 原有逻辑仅能输出「星数从1递增到输入值、再从输入值-1递减到1」的5行内容(以输入3为例),和你给出的8行目标图案缺少后续输出逻辑,需要补充对应打印规则。

修改后代码

简化写法(无需嵌套循环,更易理解)

num = int(input("Enter an integer number greater than or equal to 1: "))

# 第一阶段:1个星递增到num个星
for x in range(1, num + 1):
    print("*" * x)

# 第二阶段:num-1个星递减到1个星
for x in range(num - 1, 0, -1):
    print("*" * x)

# 第三阶段:补充目标图案后续的打印内容
for x in range(num - 1, 0, -1):
    print("*" * x)
print("*")

保留原有嵌套循环的修改写法

num = int(input("Enter an integer number greater than or equal to 1: "))

if num > 1:
  for x in range(0, num):
    for y in range(0, x+1):
        # 把end的空格改为空字符串
        print("*", end = "")
    print("")

for x in range(num,1,-1):
    for y in range(0,x-1):
        # 把end的空格改为空字符串
        print("*", end="")
    print("")

# 补充后续输出逻辑
for x in range(num,1,-1):
    for y in range(0,x-1):
        print("*", end="")
    print("")
print("*")

输入3运行上述代码,就能得到你给出的目标星号图案。如果后续你需要调整输出规则,直接修改对应循环的范围即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 06:57:02