You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
2.5 KiB

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")