diff --git a/basket fin b/basket fin new file mode 100644 index 0000000..2500f95 --- /dev/null +++ b/basket fin @@ -0,0 +1,76 @@ +def charger donnees (fichiers): + ***Charge les donnees depuis un fichier texte et retourne une liste de tuples.*** + donnees = [] + with open (fichier, "r")as f: + for ligne if f: + elements = line.strip().split() + if len (elements) == 4: + joueur, action, x,y = elements + donnees, append((joueur, action, int(x), int(y))) + return donnees + +def reussite(donnees, joueur, action): + ***Retourne le nombre de tentatives et reussites pour un joueur et une action donnees.*** + tentatives = 0 + reussites = 0 + for j, a, _, _in donnees + if j == joueur and action in a: + tentatives += 1 + if a == action + "reussi": + reussites += 1 + return tentatives, reussites + +def points (x, y): + ***Determine le nombre de points en fonction de la position du tir.*** + if (x - 0) ** 2+ ( y- 300) ** 2<= 150 ** 2 or (x - 1000) ** 2 + (y - 300) ** 2 <= 150** 2: + return 2 + return 3 + +def totalPoints(donnees, joueur): + ***Calcule le total de points marqués par un joueur*** + total = 0 + for j,a,x,y in donnees: + if j == joueur and a == "tir-reussi": + total += points (x,y) + return total + +def rebondsPasses( donnees, joueur) + ***Retoune le nombre de rebonds et de passes d un joueur.*** + rebonds = 0 + passes = 0 + for j, a, _, _ in donnees: + if j == joueur: + if"rebonds" in a : + rebonds += 1 + elif a == "passe": + passes += 1 + return rebonds, passes + +def manque (donnees, joueur): + ***Retourne le nombre d actions manquees par un joueur.*** + tirs_manques = 0 + pertes = 0 + for j, a, _, _ in donnees: + if j == joueur: + if a == "tir-manque": + tir_manques += 1 + elif a == "perteBalle": + pertes += 1 + return tirs_manques + pertes + +def afficheStats(donnees, joueur): + ***Affiche les statistiques completes d un joueur.*** + points_marques = totalPoints(donnees, joueur) + tentatives, reussites = reussite( donnees, joueur, "tir") + rebonds, passes = rebondsPasses(donnees,joueur) + poucentage = (reussites / tentatives * 100) if tentatives > 0 else 0 + print("Statistiques de", joueur) + print("-Points marques:", points_marques) + print("-Reussite au tir:", round(pourcentage, 2), "%") + print("-Rebonds:", rebonds, "passes", passes) + +#Chargements des donnees et tests +fichier_stats = "stats.odf" +donnees = charger_donnees(fichier_stats) + +afficheStats(donnees, "J1") \ No newline at end of file