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

如何用Python for循环生成+、-+、+-+交替字符图案?

问题分析与解决方案

你的原代码存在两个关键问题:

  1. 内层循环中每次打印"+"后立刻执行print(),导致每个字符单独占一行,无法在同一行输出多个字符。
  2. 缺少判断输出"-"的逻辑,所以只会重复打印"+"。

要实现目标图案,核心是根据行号(i)和列号(j)的奇偶组合决定输出字符。观察图案规律:

  • 第1行(i=0):仅第1列(j=0)→ "+"
  • 第2行(i=1):第1列(j=0)→ "-",第2列(j=1)→ "+"
  • 第3行(i=2):第1列(j=0)→ "+",第2列(j=1)→ "-",第3列(j=2)→ "+"

可以总结出规则:当(i + j) % 2 == 0时输出"+",否则输出"-"。

修正后的代码如下:

n = 3  # 对应你需要的3行图案,若要更多行可修改此值
for i in range(n):
    for j in range(i + 1):
        # 根据i+j的奇偶性选择输出字符
        print("+" if (i + j) % 2 == 0 else "-", end="")
    # 内层循环结束后换行,准备打印下一行
    print()

输出结果:

+
-+
+-+

如果需要扩展到5行(原代码的n=5),输出会自动变为:

+
-+
+-+
-+-+
+-+-+

另外注意:原代码中print()的位置错误,必须移到外层循环末尾,确保每一行的所有字符打印完成后再换行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 11:29:53