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