🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۰ سامان پورمند
TO DO 2&3-محاسبه تفاضل گل و لحاظ رتبه بندی آن
جامعه پایتون (وب) ایجاد شده در ۱۰ فروردین ۱۴۰۱
teams = [
   {'name': 'shahre_khodro', 'result':  'wwwldwwwdwlllddwdwlwlwwdldddl','scoring_goal':27,'concede_goal':25},
   {'name': 'sepahan', 'result':  'wwddwwwddwldddwwdwdldwddlwllw','scoring_goal':38,'concede_goal':21},
   {'name': 'esteghlal', 'result': 'lddldwwwwwwdwdwllwdwldwdwdwdd','scoring_goal':51,'concede_goal':30},
   {'name': 'persepolis', 'result': 'wlwwllwwdwlwwwwwwwdwwwwwwwdld','scoring_goal':43,'concede_goal':17},
   {'name': 'tractor', 'result':  'dwdwwwwlllwwdlwwlwdwllwdwdddw','scoring_goal':31,'concede_goal':22},
   {'name': 'foolad', 'result':  'lddwdwwwdllwdwldwlwwwwlwlwddd','scoring_goal':27,'concede_goal':19}
]
def parse_result(team):
    _win = _draw = _lose = 0
   for ch in team['result']:
        if ch == 'w':
            _win += 1
        elif ch == 'd':
            _draw += 1
        else:
            _lose += 1
        team['difference_goal'] = team['scoring_goal'] - team['concede_goal']
    return {
        'name': team['name'],
        'win': _win,
        'draw': _draw,
        'lose': _lose,
        'scoring_goal':team['scoring_goal'],
        'concede_goal': team['concede_goal'],
        'difference_goal':team['difference_goal']
    }
def calculate_score(team):
    score = (team['win'] * 3) + team['draw']
    team['score'] = score
    return team
tmp_score_board = list(map(parse_result, teams))
score_board = list(map(calculate_score, tmp_score_board))
#passed_teams = list(filter(lambda t: t['score'] >= 50, score_board))
score_board = sorted(score_board,key=lambda x: x['difference_goal'],reverse=True)
score_board = sorted(score_board,key=lambda x: x['score'],reverse=True)
for index, team in enumerate(score_board):
    print(index + 1, team)

در یک فایل py نوشته شده است، ضمن اینکه ما ابتدا تابع sort را بر اساس تفاضل گل محاسبه می‌کنیم سپس خروجی این محاسبه را به تابع sort بعدی بر اساس امتیاز می‌دهیم که خروجی نهایی هر دو پارامتر نفاضل گل و امتیاز را در نظر میگرد