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

并排双菱形打印间距问题:中间行相连的Python代码修复需求

解决两个并排菱形中间行接触的问题

你当前的代码里两个菱形的中间行贴在一起,问题出在两个菱形之间的间隔是随行数变化的,只要给它们加个固定的分隔空格,就能让两个菱形独立分开,还不会破坏原有结构。

修改后的完整代码

rows = int(input("请输入半菱形的行数:"))

if rows <= 0:
    print("输入无效,请输入正整数。")
else:
    # 上半部分两个三角形
    for i in range(rows):
        # 第一个菱形的前置空格
        for s in range(rows - i):
            print(" ", end="")
        # 第一个菱形的星号
        for stars in range((i * 2) - 1):
            print("*", end="")
        # 两个菱形之间的固定分隔空格(可按需调整数量)
        print("  ", end="")
        # 第二个菱形的前置对齐空格
        for s in range(rows - i):
            print("  ", end="")
        # 第二个菱形的星号
        for stars in range((i * 2) - 1):
            print("*", end="")
        print()

    # 下半部分两个三角形
    for i in range(rows, 0, -1):
        # 第一个菱形的前置空格
        for s in range(rows - i):
            print(" ", end="")
        # 第一个菱形的星号
        for stars in range((i * 2) - 1):
            print("*", end="")
        # 两个菱形之间的固定分隔空格(和上面数量一致)
        print("  ", end="")
        # 第二个菱形的前置对齐空格
        for s in range(rows - i):
            print("  ", end="")
        # 第二个菱形的星号
        for stars in range((i * 2) - 1):
            print("*", end="")
        print()

关键修改点

  1. 添加固定分隔空格:在每个菱形的星号打印完成后,插入一行print(" ", end="")(这里用2个空格,你可以根据需求改成3个或更多),确保两个菱形始终有独立的间隔,不会在中间行贴在一起。
  2. 调整无效输入判断位置:把输入合法性检查移到代码最开头,避免输入0或负数时执行多余的循环逻辑。

这样修改后,两个菱形的形状完全保留,同时始终保持独立的间距。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 02:50:32