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

# 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.

﻿