# Series Summation using for loop in python

## Series Summation using for loop in python

Python syntax is a bit different than c. In particular, we usually use the `range` function to create the values for the iterator variable (this is what was in Stephen Rauchs comment). The first argument to `range` is the starting value, the second is the final value (non-inclusive), and the third value is the step size (default of 1). If you only supply one value (e.g. `range(5)`) then the starting value is 0 and the supplied value is the ending one (equivalent to `range(0, 5)`).

Thus you can do

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

to create a for loop where `i` takes on the same values as it did in your c loop. A full version of your code might be:

``````summation = 0
for i in range(1, n + 1):
summation += i # shorthand for summation = summation + i
``````

However, since summing things is so common, theres a builtin function `sum` that can do this for you, no loop required. You just pass it an iterable (e.g. a list, a tuple, …) and it will return the sum of all of the items. Hence the above for loop is equivalent to the much shorter

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

Note that because `sum` is the name of a builtin function, you shouldnt use it as a variable name; this is why Ive used `summation` here instead.

Because you might find this useful going forward with Python, its also nice that you can directly loop over the elements of an iterable. For example, if I have a list of names and want to print a greeting for each person, I can do this either the traditional way:

``````names = [Samuel, Rachel]
for i in range(len(names)):  # len returns the length of the list
print(Hello, names[i])
``````

or in a more succinct, Pythonic way:

``````for name in names:
print(Hello, name)
``````

For a series build up your list then add them all together as

``````n = 10
sum(range(n+1))
``````

55

For 1/n we have

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

2.28333

For 1/n^2 we have

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

1.463611

#### Series Summation using for loop in python

This works:

``````def summation(num):
sumX = 0
for i in range(1, num + 1):
sumX = sumX + i
return sumX

summation(3)  # You place the num you need here
``````

As well as this:

``````def summation(num):
return sum(range(1, num+1))
``````