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

Python使用For Loop输出指定行数三角数的重复输出问题咨询

为什么循环输出全是同一个三角数?

你的问题核心出在循环计算时用了固定不变的j,而非循环的迭代变量:

  • j是你一开始输入的总行数,整个循环过程中它的值不会发生变化
  • 每次执行num1 = ((j**2)+j)/(2)时,都是用同一个j代入公式,计算出来的始终是第j行的三角数,所以循环输出的结果全是同一个数

举个例子,如果你输入j=5,那每次计算都是(5²+5)/2=15,循环5次就会输出5个15.0,和你给出的实际输出一致。

要修正的话,应该用循环里的i来对应行数(注意range(0,j)里的i从0开始,所以实际行数是i+1),修改后的代码如下:

j = int(input('how many lines you want on your triangle??????: '))

for i in range(0, j):
    # 用i+1作为当前行数代入三角数公式
    num1 = ((i+1)**2 + (i+1)) / 2
    print(num1)

或者用累加逻辑实现,更直观:

j = int(input('how many lines you want on your triangle??????: '))
current = 0
for i in range(1, j+1):
    current += i
    print(current)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 14:02:11