Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么';这个嵌套循环不行吗?_Python - Fatal编程技术网

Python 为什么';这个嵌套循环不行吗?

Python 为什么';这个嵌套循环不行吗?,python,Python,我试图生成一个三角形数字的列表(这些数字是先前数字3=2+1、6=3+2+1等的总和),但由于某些原因,嵌套循环从未被迭代过 triangulars = [] for i in range(1, 1000): sum = 0 for j in range(i, 0): sum += j triangulars.append(sum) print(triangulars) 因为范围(i,0)在i>=0时为空 将范围(i,0)中j的更改为范围(i,0,-1)中j

我试图生成一个三角形数字的列表(这些数字是先前数字3=2+1、6=3+2+1等的总和),但由于某些原因,嵌套循环从未被迭代过

triangulars = []
for i in range(1, 1000):
    sum = 0
    for j in range(i, 0):
        sum += j
triangulars.append(sum)  
print(triangulars)
因为
范围(i,0)
i>=0时为空

将范围(i,0)中j的
更改为范围(i,0,-1)中j的
,因为
范围(i,0)
i>=0时为空


将范围(i,0)中j的
更改为范围(i,0,-1)中j的
,您还需要在第一个循环(i…)内推送
三角形。在第一个循环(i…)内追加(sum)

您还需要在第一个循环(i…)内推送
三角形。追加(sum)
.

您的代码中似乎有两个小错误。首先
range(i,0)
将返回一个空列表,如果
i>=0
,可能您想要
range(0,i)
range(i,0,step=-1)
,我认为在这种情况下这两种方法都可以工作。第二,看起来您的缩进在
三角形上被取消了。append(sum)
。现在它在两个循环之外,我想你希望它在第一个循环之内

此外,对于此问题,您不需要双循环,您可以执行以下操作:

def make_triangulars(N):
    triangulars = []
    last = 0
    for i in range(1, N):
        last += i
        triangulars.append(last)
    return triangulars

看起来代码中有两个小错误。首先
range(i,0)
将返回一个空列表,如果
i>=0
,可能您想要
range(0,i)
range(i,0,step=-1)
,我认为在这种情况下这两种方法都可以工作。第二,看起来您的缩进在
三角形上被取消了。append(sum)
。现在它在两个循环之外,我想你希望它在第一个循环之内

此外,对于此问题,您不需要双循环,您可以执行以下操作:

def make_triangulars(N):
    triangulars = []
    last = 0
    for i in range(1, N):
        last += i
        triangulars.append(last)
    return triangulars
当i>=0时范围(i,0)为空当i>=0时范围(i,0)为空