# Python Program to find Sum of Negative, Positive Even and Positive Odd numbers in a List

• Last Updated : 26 Nov, 2020

Given a list. The task is to find the sum of Negative, Positive Even, and Positive Odd numbers present in the List.

Examples:

```Input: -7 5 60 -34 1
Output:
Sum of negative numbers is  -41
Sum of even positive numbers is  60
Sum of odd positive numbers is  6

Input: 1 -1 50 -2 0 -3
Output:
Sum of negative numbers is  -6
Sum of even positive numbers is  50
Sum of odd positive numbers is  1```

Negative numbers are the numbers less than 0 while positive even numbers are numbers greater than 0 and also divisible by 2. 0 is assumed to be a positive even number, in this case.

Approach:

• The first approach input a list of numbers from the user.
• Two loops are run, one for the positive numbers and the other for the negative numbers, computing the numbers’ summation.
• If n is the size of the list of numbers,
• it takes O(2n) time complexity, for iterating over the list of numbers twice.

## Python3

 `class` `Sumofnumbers:``   ` `    ``# find sum of negative numbers``    ``def` `negSum(``self``, ``list``):`` ` `        ``# counter for sum of``        ``# negative numbers``        ``neg_sum ``=` `0`` ` `        ``for` `num ``in` `list``:`` ` `            ``# converting number``            ``# to integer explicitly``            ``num ``=` `int``(num)`` ` `            ``# if negative number``            ``if``(num < ``0``):`` ` `                ``# simply add to the``                ``# negative sum``                ``neg_sum ``+` `=` `num`` ` `        ``print``(``"Sum of negative numbers is "``, neg_sum)`` ` `    ``# find sum of positive numbers``    ``# according to categories``    ``def` `posSum(``self``, ``list``):`` ` `        ``# counter for sum of``        ``# positive even numbers``        ``pos_even_sum ``=` `0`` ` `        ``# counter for sum of``        ``# positive odd numbers``        ``pos_odd_sum ``=` `0``        ``for` `num ``in` `list``:`` ` `            ``# converting number``            ``# to integer explicitly``            ``num ``=` `int``(num)`` ` `            ``# if negative number``            ``if``(num >``=` `0``):`` ` `                ``# if even positive``                ``if``(num ``%` `2` `=``=` `0``):`` ` `                    ``# add to positive``                    ``# even sum``                    ``pos_even_sum ``+` `=` `num``                ``else``:`` ` `                    ``# add to positive odd sum``                    ``pos_odd_sum ``+` `=` `num`` ` `        ``print``(``"Sum of even positive numbers is "``,``              ``pos_even_sum)`` ` `        ``print``(``"Sum of odd positive numbers is "``,``              ``pos_odd_sum)`` ` ` ` `# input a list of numbers``list_num ``=` `[``-``7``, ``5``, ``60``, ``-``34``, ``1``]`` ` `# creating an object of class``obj ``=` `Sumofnumbers()`` ` `# calling method for  sum``# of all negative numbers``obj.negSum(list_num)`` ` `# calling method for``# sum of all positive numbers``obj.posSum(list_num)`

Output:

```Sum of negative numbers is  -41
Sum of even positive numbers is  60
Sum of odd positive numbers is  6
```

The second approach computes the sum of respective numbers in a single loop. It maintains three counters for each of the three conditions, checks the condition and accordingly adds the value of the number in the current sum . If n is the size of the list of numbers, it takes O(n) time complexity, for iterating over the list of numbers once.

## Python3

 `class` `Sumofnumbers:``    ``# find sum of numbers``    ``# according to categories``    ``def` `Sum``(``self``, ``list``):`` ` `        ``# counter for sum``        ``# of negative numbers``        ``neg_sum ``=` `0`` ` `        ``# counter for sum of``        ``# positive even numbers``        ``pos_even_sum ``=` `0`` ` `        ``# counter for sum of``        ``# positive odd numbers``        ``pos_odd_sum ``=` `0`` ` `        ``for` `num ``in` `list``:`` ` `            ``# converting number``            ``# to integer explicitly``            ``num ``=` `int``(num)`` ` `            ``# if negative number``            ``if``(num < ``0``):``               ` `                ``# simply add``                ``# to the negative sum``                ``neg_sum ``+``=` `num``            ``# if positive number``            ``else``:``               ` `                ``# if even positive``                ``if``(num ``%` `2` `=``=` `0``):``                   ` `                    ``# add to positive even sum``                    ``pos_even_sum ``+` `=` `num``                ``else``:``                     ` `                    ``# add to positive odd sum``                    ``pos_odd_sum ``+` `=` `num``        ``print``(``"Sum of negative numbers is "``,``              ``neg_sum)``        ``print``(``"Sum of even positive numbers is "``,``              ``pos_even_sum)``        ``print``(``"Sum of odd positive numbers is "``,``              ``pos_odd_sum)`` ` ` ` `# input a list of numbers``list_num ``=` `[``1``, ``-``1``, ``50``, ``-``2``, ``0``, ``-``3``]`` ` `# creating an object of class``obj ``=` `Sumofnumbers()`` ` `# calling method for``# largest sum of all numbers``obj.``Sum``(list_num)`

Output:

```Sum of negative numbers is  -6
Sum of even positive numbers is  50
Sum of odd positive numbers is  1
```

My Personal Notes arrow_drop_up