Answer to Question #210325 in Python for Izza awan

Question #210325

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)


1
Expert's answer
2021-06-25T05:21:28-0400



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())

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS