KnowledgeBoat Logo
|

Computer Science

Write a program using user defined functions that accepts a List of numbers as an argument and finds its median. (Hint : Use bubble sort to sort the accepted list. If there are odd number of terms, the median is the center term. If there are even number of terms, add the two middle terms and divide by 2 get median)

Python Sorting

3 Likes

Answer

def bubble_sort(arr):
    n = len(arr)
    for i in range(n - 1):
        for j in range(0, n - i - 1):
            if arr[j] > arr[j + 1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]

def find_median(arr):
    n = len(arr)
    bubble_sort(arr)  

    if n % 2 == 0:  
        mid1 = arr[n // 2 - 1]
        mid2 = arr[n // 2]
        median = (mid1 + mid2) / 2
    else: 
        median = arr[n // 2]

    return median

numbers = eval(input("Enter a list of numbers: "))
median = find_median(numbers)
print("Median of the list is:", median)
Output
Enter a list of numbers: [20, 2, 31, 4, 10]
Median of the list is: 10

Enter a list of numbers: [22, 11, 16, 7, 8, 12]
Median of the list is: 11.5

Answered By

1 Like


Related Questions