import math def reussite(joueur, action): nbtentatives = 0 nbreussites = 0 with open('stats.txt','r') as file: for line in file: elements = line.split(' ') resultat = elements[1].split('-') if elements[0] == joueur and resultat[0] == action: nbtentatives += 1 if 'reussi' in elements[1] or 'reu' in elements[1]: nbreussites += 1 return nbtentatives, nbreussites def points(x, y): """ fonction points prenant en paramètres deux entiers x et y (les coordonnées du point où a eu lieu l’action) et qui renvoie l’entier 2 si le point est à l’intérieur d’un des demi-cercles et 3 sinon""" # Calcule la distance entre le tire et le demi-cercle dist1 = math.sqrt(x**2 + (y-300)**2) dist2 = math.sqrt((x-1000)**2 + (y-300)**2) # Si il est dans le cerle renvoie 2 sinon 3 if dist1 < 250 or dist2 < 250 : return 2 else: return 3 def totalPoints(joueur): """Fonction totalPoints qui prend en paramètre une chaîne de caractère joueur (le nom du joueur) et qui renvoie le nombre total de points marqués par ce joueur""" total = 0 with open("stats.txt", "r") as file: for line in file: data = line.strip().split(" ") if data[0] == joueur: if data[1] == "tir-reussi" or data[1] == "lancer-reu": x, y = int(data[2]), int(data[3]) #Coordonnées du tir total += points(x, y) * int(data[4]) #mise a jour du total de point return total def main(): print(reussite("J6V", "tir")) print(points(0, 300)) print(totalPoints("J6V")) print(reussite("J6", "tir")) print(points(0, 300)) print(totalPoints("J6")) main()