""" Dans `reussite`, oubli des lancers francs pour lesquels l'action est "reu" et pas "reussi". Dans `totalPoints` : lancers francs non pris en compte tirs ratés comptés comme réussis. Note : 16 """ def reussite(joueur, action): """Prend deux chaînes de caractères : - joueur (le nom du joueur), - action (le type d’action : tir ou lancer). Renvoie deux entiers : - le nombre de tentatives - le nombre de réussit sur l’action en question """ with open('stats.txt', 'r') as stats: stats = stats.readlines() nb_action = 0 nb_reussite_action = 0 for ligne in stats: ligne = ligne.strip().split(' ') if ligne[0] == joueur and ligne[1].split('-')[0] == action: nb_action += 1 if ligne[0] == joueur and ligne[1].split('-')[1] == "reussi": nb_reussite_action += 1 return nb_action, nb_reussite_action def points(x, y): """Prend deux entiers x et y (les coordonnées du point où a eu lieu l’action). Renvoie un entier: - 2 si le point est à l’intérieur d’un des demi-cercles - 3 sinon""" if x**2+(y-300)**2 <= 62500 or (x-1000)**2+(y-300)**2 <= 62500: return 2 else: return 3 def totalPoints(joueur): """Prend une chaîne de caractère joueur (le nom du joueur) Renvoie le nombre total de points marqués par ce joueur.""" with open('stats.txt', 'r') as stats: nb_total_points = 0 for ligne in stats: ligne = ligne.strip().split(' ') if ligne[0] == joueur: coord_x, coord_y = int(ligne[2]), int(ligne[3]) nb_total_points += points(coord_x, coord_y) return nb_total_points