# All the branches of XYZ school conducted an aptitude test for all the students in the age group 14 - 16.

19 views
ago in Computer
closed ago

All the branches of XYZ school conducted an aptitude test for all the students in the age group 14 - 16. There were a total of n students. The marks of n students are stored in a list. Write a program using a user defined function that accepts a list of marks as an argument and calculates the ‘xth’ percentile (where x is any number between 0 and 100).You are required to perform the following steps to be able to calculate the ‘xth’ percentile.

Note: Percentile is a measure of relative performance i.e. It is calculated based on a candidate’s performance with respect to others. For example: If a candidate's score is in the 90th percentile, that means she/he scored better than 90% of people who took the test.

Steps to calculate the xth percentile:

I. Order all the values in the data set from smallest to largest using Selection Sort. In general any of the sorting methods can be used.

II. Calculate index by multiplying x percent by the total number of values, n.
For example: to find 90th percentile for 120 students: 0.90*120 = 108

III. Ensure that the index is a whole number by using math.round()

IV. Display the value at the index obtained in Step 3.

The corresponding value in the list is the xth percentile.

+1 vote
ago by (20.5k points)
selected ago

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

numbers = eval(input("Enter list of marks using bracket : "))

bubblesort(numbers)

x = int(input("For xth percentile, Enter x : "))

size = len(numbers)

index = int(round((size * x ) / 100, 0))

print(str(x) + "th percentile is : ")

print(numbers[index])