Merged quick sort in main branch from testing

This commit is contained in:
K 2023-10-16 19:32:29 +05:30
parent 9719232f80
commit 59af8b2d59
Signed by: notkshitij
GPG Key ID: C5B8BC7530F8F43F

31
assignment-16.py Normal file
View File

@ -0,0 +1,31 @@
# Function for quick sort:
def quicksort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quicksort(left) + middle + quicksort(right)
# Function for displaying top scores:
def top5(arr):
sorted_arr = quicksort(arr)
top_scores = sorted_arr[-5:][::-1]
return top_scores
# Defining main function:
def main():
total=int(input("Total number of students are:\t"))
percent=[]
for i in range(total):
percent_in=float(input(f"Enter percentage for student {i+1}:\t"))
percent.append(percent_in)
print(f"\nPercentages of students are:\t {percent}")
print(f"\n------------------\nSorted marks (using quick sort algorithm):\t{quicksort(percent)}\n------------------")
print(f"\n------------------\nTop five scores are:\t{top5(percent)}\n------------------\n")
# Calling main function:
main()