Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- users_points = {}
- courses_users = {}
- while True:
- data = input().split(" -> ")
- if "no more time" in data:
- break
- user, course, points = data
- points = int(points)
- if course not in courses_users:
- courses_users[course] = {user: points}
- if user not in users_points:
- users_points[user] = 0
- users_points[user] += points
- elif user not in courses_users[course]:
- courses_users[course].update({user: points})
- if user not in users_points:
- users_points[user] = 0
- users_points[user] += points
- elif courses_users[course][user] < points:
- users_points[user] += (points - courses_users[course][user])
- courses_users[course][user] = points
- for k, v in courses_users.items():
- print(f"{k}: {len(v)} participants")
- n = 0
- for sub_k, sub_v in sorted(v.items(), key=lambda kvp: (-kvp[1], kvp[0])):
- n += 1
- print(f"{n}. {sub_k} <::> {sub_v}")
- sorted_users = sorted(users_points.items(), key=lambda kvp: (-kvp[1], kvp[0]))
- print("Individual standings:")
- n = 0
- for k, v in sorted_users:
- n += 1
- print(f"{n}. {k} -> {v}")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement