Python: Find the ration of positive numbers, negative numbers and zeroes in an array of integers
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.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics