from data import teams
def parse_result_old(team):
return {
'name': team['name'],
'win': team['result'].count('w'),
'lose': team['result'].count('l'),
'draw': team['result'].count('d'),
}
def parse_result(team):
result = {
'w': 0,
'd': 0,
'l': 0,
}
for i in team['result']:
result[i] += 1
return {
'name': team['name'],
'win': result['w'],
'lose': result['l'],
'draw': result['d'],
'gol_zade': team['gol_zade'],
'gol_khorde': team['gol_khorde'],
}
def calc_score(team):
# محاسبه امتیاز
score = team['win'] * 3 + team['draw']
# محاسبه تفاضل گل
goal_difference = team['gol_zade'] - team['gol_khorde']
team['score'] = score
team['goal_difference'] = goal_difference
return team
score_board = (map(parse_result, teams))
score_board = (map(calc_score, score_board))
score_board = sorted(score_board, key=lambda x: (x['score'], x['goal_difference']), reverse=True)
for index, item in enumerate(score_board):
print(index+1, item)