Q; Write a function to display the result of examination of students. Following requirements must be
fulfilled:
i. Read the names and marks of at least 5 students, data should be acquired from the user
and saved as dictionary (using a function named get info)
ii. Rank the top three students with highest marks (make a function named top3)
iii. Give cash rewards. Rs. 5000 for first rank, Rs. 3000 for second rank, Rs. 1000 for
third rank. Value cannot be modified (function name should be cashprize)
students_marks = {}
def getinfo(n):
for i in range(n):
name, mark = input().split()
students_marks[name] = int(mark)
def top3():
keys = sorted(students_marks, key=students_marks.get)
temp = []
for k in keys:
temp.append(k)
return temp[-1], temp[-2], temp[-3]
def cashprize(std):
prize = 5000
for name in std:
if prize < 0:
return
else:
print(f'{name} - {prize}')
prize = prize - 2000
n = int(input('number of students(atleast 5): '))
getinfo(n)
cashprize(top3())
Comments
Leave a comment