from math import sqrt def reussite (joueur,action): """Prend en valeur un nom de joueur et une action et donne (,)""" actions_reussies = 0 actions_prises = 0 with open("stats.txt",'r') as fichier_stat: for ligne in fichier_stat: ligne_separe = ligne.split(" ") if ligne_separe[0] == joueur and action in ligne_separe[1]: actions_prises += 1 if 'reussi' in ligne_separe[1]: actions_reussies += 1 return actions_prises,actions_reussies def points (x,y): """la fonction doit prendre en paramètres x et y les coords du point d'action et doit renvoyer 2 ou 3 en fonction du point de tir""" if x - 500<0: distance = sqrt((y-300)**2+x**2) else: distance = sqrt((y-300)**2+(x-00)**2) if distance<=250: return 2 else : return 3 def totalPoints(joueur): """Utilise la fonction 'points()' pour calculer les points d'un joueur donné.""" totpoints=0 x=0 y=0 with open('stats.txt','r') as fichier_stat: for ligne in fichier_stat: ligne_separe = ligne.split(" ") if ligne_separe[0]==joueur and ligne_separe[1]== 'tir-reussi': ligne_separe[2]= x ligne_separe[3]= y totpoints=totpoints+points(x,y) return totpoints def rebondsPasses(joueur): """Prend en paramètre un nom de joueur et donne (, )""" nombre_de_rebonds = 0 nombre_de_passes = 0 with open('stats.txt','r') as fichier_stat: for ligne in fichier_stat: ligne_separe = ligne.split(" ") if ligne_separe[0] == joueur: if 'rebond' in ligne_separe[1]: nombre_de_rebonds += 1 elif 'passe' in ligne_separe[1]: nombre_de_passes += 1 return nombre_de_rebonds,nombre_de_passes def manque(joueur): """Prend un nom de joueur et retourne le nombre d'actions manquées et de pertes de balle par le joueur.""" nombre_de_rates_et_pertes = 0 with open('stats.txt','r') as fichier_stat: for ligne in fichier_stat: ligne_separe = ligne.split(" ") if ligne_separe[0] == joueur: if 'manque' in ligne_separe[1] or 'perteBalle' in ligne_separe[1]: nombre_de_rates_et_pertes += 1 return nombre_de_rates_et_pertes def afficheStats(joueur): """diff stats points marqués, pourcentage de reussite etc""" pourcent_reussite = round(reussite(joueur,'tir')[1]/reussite(joueur,'tir')[0]*100,1) print("Le joueur", joueur, "a réussi", pourcent_reussite, "% de ses tirs, a marqué", totalPoints(joueur), "points, a fait", rebondsPasses(joueur)[0], "rebonds,", rebondsPasses(joueur)[1], "passes et manqué", manque(joueur), "tirs") #TESTS : print('Le joueur 1 a tiré et réussi', reussite('J1','tir')) print('le joueur 1 a fait ce nombre de rebonds et passes',rebondsPasses('J1')) print('Le joueur 1 a raté et perdu la balle',manque('J1'),'fois') print(points(500,300))#censé etre 3 points print(points(150,300))#censé etre 2 points print(points(900,100))#censé etre 2 points print(totalPoints('J1'))