Series Summation using for loop in python
假设这个系列
1 | 1+2+3+....+n |
在带有for循环的C中,我们可以很容易地做到这一点
1 2 3 4 | for(i=1;i<=n;i++) { sum += i; } |
在python中,我可以使用while循环来完成这个任务。
1 2 3 4 | while(num <= n): sum += num num = num+1 |
但是我不能用python来做循环
python语法与c有点不同。特别是,我们通常使用
这样你就可以做到
1 | for i in range(1, n + 1): |
创建一个for循环,其中
1 2 3 | summation = 0 for i in range(1, n + 1): summation += i # shorthand for summation = summation + i |
然而,由于总结是如此常见,所以有一个内置的函数
1 | summation = sum(range(1, n + 1)) |
请注意,由于
因为在继续使用python时可能会发现这一点很有用,所以可以直接循环iterable的元素也很好。例如,如果我有一个名字列表,并且想为每个人打印一个问候语,我可以用"传统"的方式:
1 2 3 | names = ["Samuel","Rachel"] for i in range(len(names)): # len returns the length of the list print("Hello", names[i]) |
或者用更简洁的"Python式"方式:
1 2 | for name in names: print("Hello", name) |
对于一个系列,建立您的列表,然后将它们一起添加为
1 2 | n = 10 sum(range(n+1)) |
55
我们有1个
1 2 | n = 5 sum([1/i for i in range(1,n+1)]) |
2.28333
对于1/n^2,我们有
1 2 | n = 5 sum([1/i**2 for i in range(1,n+1)]) |
1.463611