Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import re
- names = input().split(", ")
- results = {}
- pattern = r"([A-Z]*[a-z]*)?(\d)?"
- while True:
- data = input()
- if data == "end of race":
- break
- matches = re.finditer(pattern, data)
- letters = ""
- distance = 0
- for each in matches:
- if each.group(1):
- letters += each.group(1)
- if each.group(2):
- distance += int(each.group(2))
- if letters in names:
- if letters not in results:
- results[letters] = 0
- results[letters] += distance
- sorted_results = sorted(results.items(), key=lambda kvp: -kvp[1])
- counter = 1
- ranking = ""
- while counter <= 3:
- if counter == 1:
- ranking = "1st"
- elif counter == 2:
- ranking = "2nd"
- elif counter == 3:
- ranking = "3rd"
- print(f"{ranking} place: {sorted_results[counter-1][0]}")
- counter += 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement