python中for循环求和_在python中使用for循环的系列求和

假设这个系列

11+2+3+....+n

在带有for循环的C中,我们可以很容易地做到这一点

1

2

3

4for(i=1;i<=n;i++)

{

sum += i;

}

在python中,我可以使用while循环来完成这个任务。

1

2

3

4while(num <= n):

sum += num

num = num+1

但是我不能用python来做循环

sum(range(1,n+1))

请给我完整的for循环语法好吗

这是您询问的问题的完整语法。这不是C。

哦,对不起,我不明白,让我试试这个,谢谢

使用python,你可以用一种简单的方式来做事情,很多时候我们称之为python形式。

在python中可能有SUM的重复数字列表

那个问题你只是联系上了,我就是不明白它和我有什么关系@stephenrauch

python语法与c有点不同。特别是,我们通常使用range函数来创建迭代器变量的值(这是stephen rauch的评论)。range的第一个参数是起始值,第二个参数是最终值(不包含),第三个参数是步长(默认为1)。如果只提供一个值(如range(5),则起始值为0,提供值为结束值(相当于range(0, 5))。

这样你就可以做到

1for i in range(1, n + 1):

创建一个for循环,其中i与c循环中的值相同。代码的完整版本可能是:

1

2

3summation = 0

for i in range(1, n + 1):

summation += i # shorthand for summation = summation + i

然而,由于总结是如此常见,所以有一个内置的函数sum可以为您做到这一点,不需要循环。你只要给它传递一个iterable(例如list,tuple,…),它就会返回所有项的总和。因此,上面的for循环相当于更短的

1summation = sum(range(1, n + 1))

请注意,由于sum是内置函数的名称,因此不应将其用作变量名;这就是我在这里使用summation的原因。

因为在继续使用python时可能会发现这一点很有用,所以可以直接循环iterable的元素也很好。例如,如果我有一个名字列表,并且想为每个人打印一个问候语,我可以用"传统"的方式:

1

2

3names = ["Samuel","Rachel"]

for i in range(len(names)): # len returns the length of the list

print("Hello", names[i])

或者用更简洁的"Python式"方式:

1

2for name in names:

print("Hello", name)

这是一个很好的解释,非常感谢

对于一个系列,建立您的列表,然后将它们一起添加为

1

2n = 10

sum(range(n+1))

55

我们有1个

1

2n = 5

sum([1/i for i in range(1,n+1)])

2.28333

对于1/n^2,我们有

1

2n = 5

sum([1/i**2 for i in range(1,n+1)])

1.463611

你可能感兴趣的:(python中for循环求和)