Answer to Question #256877 in Python for Raju

Question #256877
IPL Match Details Write a program that reads all the match outcomes and summarizes the information of all the matches. Points are given to the teams based on the outcome of the match. A win earns a team 3 points. A draw earns 1. A loss earns 0. The following information is expected: MP: Matches Played W: Matches Won D: Matches Drawn (Tied) L: Matches Lost P: Points The team information should be displayed in descending order of points.Inpu Names of teams may contain spaces but will be less than 24 characters 100 >= N >= 0 Sample Input 6 CSK;RR;loss RR;DD;draw MI;KKR;win KKR;RR;loss CSK;DD;draw MI;DD;draw Sample Output Team: RR, Matches Played: 3, Won: 2, Lost: 0, Draw: 1, Points: 7 Team: MI, Matches Played: 2, Won: 1, Lost: 0, Draw: 1, Points: 4 Team: DD, Matches Played: 3, Won: 0, Lost: 0, Draw: 3, Points: 3 Team: CSK, Matches Played: 2, Won: 0, Lost: 1, Draw: 1, Points: 1 Team: KKR, Matches Played: 2, Won: 0, Lost: 2, Draw: 0, Points: 0
1
Expert's answer
2021-10-27T06:24:39-0400
def team():
    N=int(input(""))
    if N>=0 and N<=100:
        teamsDetails = {}
        for i in range(N):
            items = input().split(';')
            first_team = items[0].strip()
            second_team = items[1].strip()
            match_result = items[2].strip()
 
            if(first_team not in teamsDetails):
                teamsDetails[first_team]=[0,0,0,0,0]
            if(second_team not in teamsDetails):
                teamsDetails[second_team]=[0,0,0,0,0] 
            if(first_team in teamsDetails and second_team in teamsDetails):
                teamsDetails[first_team][0]+=1
                teamsDetails[second_team][0]+=1
 
            if match_result == 'win':
                teamsDetails[first_team][1]+=1
                teamsDetails[second_team][2]+=1
            elif match_result == 'loss':
                teamsDetails[first_team][2]+=1
                teamsDetails[second_team][1]+=1
            elif match_result == 'draw':
                teamsDetails[first_team][3]+=1
                teamsDetails[second_team][3]+=1




 
        for t in teamsDetails:
            teamsDetails[t][4]=teamsDetails[t][1]*3+teamsDetails[t][3]
 
        teamsDetails=(sorted(teamsDetails.items(), key = lambda points: points[1][4],reverse=True))
        for t in teamsDetails:
            ouput = f'Team: {t[0]}, Matches Played: {t[1][0]}, Won: {t[1][1]}, Lost: {t[1][2]}, Draw: {t[1][3]}, Points: {t[1][4]}'
            print(ouput)
 
 
team() 
 

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS