# Python: Find the ration of positive numbers, negative numbers and zeroes in an array of integers

## Python map: Exercise-12 with Solution

Write a Python program to find the ratio of positive numbers, negative numbers and zeroes in an array of integers.

Total number of elements in the give array = n

Ratio:

Positive numbers (n1) : Negative numbers(n2) : Zeroes(n3)

= n1/n : n2/n : n3/n

**Sample Solution**:

**Python Code :**

```
# Import the 'array' class from the 'array' module
from array import array
# Define a function 'plusMinus' that takes a list of integers as input and returns the ratio of positive, negative, and zero numbers
def plusMinus(nums):
# Get the length of the input list
n = len(nums)
# Initialize counters for positive, negative, and zero numbers
n1 = n2 = n3 = 0
# Iterate through each element in the list
for x in nums:
# Check if the element is positive, negative, or zero, and update the counters accordingly
if x > 0:
n1 += 1
elif x < 0:
n2 += 1
else:
n3 += 1
# Return the ratio of positive, negative, and zero numbers, rounded to two decimal places
return round(n1/n, 2), round(n2/n, 2), round(n3/n, 2)
# Create an array 'nums' of type 'i' (signed integer) with the specified elements
nums = array('i', [0, 1, 2, -1, -5, 6, 0, -3, -2, 3, 4, 6, 8])
# Print the original array 'nums'
print("Original array:", nums)
# Convert 'nums' to a list and store it in 'nums_arr'
nums_arr = list(map(int, nums))
# Call the 'plusMinus' function with 'nums_arr' as the argument and store the result in 'result'
result = plusMinus(nums_arr)
# Print the ratio of positive, negative, and zero numbers in the array
print("Ratio of positive numbers, negative numbers, and zeroes:")
print(result)
# Create another array 'nums' with different elements
nums = array('i', [2, 1, 2, -1, -5, 6, 4, -3, -2, 3, 4, 6, 8])
# Print the original array 'nums'
print("\nOriginal array:", nums)
# Convert 'nums' to a list and store it in 'nums_arr'
nums_arr = list(map(int, nums))
# Call the 'plusMinus' function with 'nums_arr' as the argument and store the result in 'result'
result = plusMinus(nums_arr)
# Print the ratio of positive, negative, and zero numbers in the array
print("Ratio of positive numbers, negative numbers, and zeroes:")
print(result)
```

Sample Output:

Original array: array('i', [0, 1, 2, -1, -5, 6, 0, -3, -2, 3, 4, 6, 8]) Ratio of positive numbers, negative numbers and zeroes: (0.54, 0.31, 0.15) Original array: array('i', [2, 1, 2, -1, -5, 6, 4, -3, -2, 3, 4, 6, 8]) Ratio of positive numbers, negative numbers and zeroes: (0.69, 0.31, 0.0)

**Python Code Editor:**

**Have another way to solve this solution? Contribute your code (and comments) through Disqus.**

**Next:**Write a Python program to count the same pair in two given lists. use map() function.

**What is the difficulty level of this exercise?**

Test your Programming skills with w3resource's quiz.

**It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.**

https://www.w3resource.com/python-exercises/map/python-map-exercise-12.php

**Weekly Trends and Language Statistics**- Weekly Trends and Language Statistics