1 changed files with 76 additions and 0 deletions
@ -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") |
Loading…
Reference in new issue