| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | """Calculate donations"""import reRESOURCES = {    'bbl': {},    'kg': {},    'pcs': {},    'G': {},    'g': {},    '$': {},}def sum_donations():    """Count total donations"""    with open('donation.txt', 'r') as file:        for line in file:            try:                donation = re.search(r'\d.*?(bbl|kg|pcs|G|g|\$)', line).group(0)                player = re.search(r'.*?\s\t', line).group(0).strip()                print(donation)                amount, resource = donation.split(' ')                amount = int(amount.replace('.', ''))                if player not in RESOURCES[resource]:                    RESOURCES[resource][player] = 0                RESOURCES[resource][player] += amount            except Exception as exception:                print('exception')                print('%s %s' % (line, exception))    for resource, players in RESOURCES.items():        print(resource)        count = 1        for player in sorted(players, key=players.get, reverse=True):            print('%12d %s' % (players[player], player))            if count >= 10:                break;            count += 1if __name__ == '__main__':    sum_donations()
 |