# Python Exercises For Beginners – #1 – Sum all integers from Zero to N

Create a Python function that sums all the numbers from 0 to a number N. If a non-positive or a non-integer number is provided, the function should return 0.

This Google Colab notebook is part of my “Python Problemns for Beginners” Youtube series: https://youtube.com/playlist?list=PL3OV2Akk7XpC-fsHuJ3RLpnzOXmED7oAI

In this video, the first in the series, I show you how to solve a simple Python problem using three different solutions, and while making sure we write unit tests. A good habit to learn and develop from early on.
This is our warm-up exercise, more to come!

## Python Solution 1 – Using Recursion

``````def sum_all_up(number:int) -> int:
if number > 0:
return number + sum_all_up(number - 1)
else:
return 0``````

Python Solution 2 – Using sum() and range() function in Python

``````def sum_all_up(number:int) -> int:
return sum(range(number + 1))``````

## Python Solution 3 – Using numpy.arange(..).sum()

``````import numpy

def sum_all_up(number: int) -> int:
return numpy.arange(number + 1).sum()``````

## Python Unit tests using Python unittest library

``````import unittest

class TestStringMethods(unittest.TestCase):

def test_sum_all_up_of_zero_returns_zero(self):
self.assertEqual(0, sum_all_up(0))

def test_sum_all_up_of_one_returns_one(self):
self.assertEqual(1, sum_all_up(1))

def test_sum_all_up_of_two_returns_three(self):
self.assertEqual(3, sum_all_up(2))

def test_sum_all_up_of_three_returns_six(self):
self.assertEqual(6, sum_all_up(3))

def test_sum_all_up_of_four_returns_ten(self):
self.assertEqual(10, sum_all_up(4))

def test_sum_all_up_of_negative_number_returns_0(self):
self.assertEqual(0, sum_all_up(-10))
``````
``````if __name__ == '__main__':
unittest.main(argv=['first-arg-is-ignored'], exit=False)``````
``````......
----------------------------------------------------------------------
Ran 6 tests in 0.013s

OK``````