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