Browse Source

fbhnh

master
tommy.dupre 4 weeks ago
parent
commit
64a4ddee7a
  1. 92
      import math.py

92
import math.py

@ -0,0 +1,92 @@
import math
# Fonction pour calculer le nombre de réussites et de tentatives
def reussite(joueur, action, fichier='stats.txt'):
tentatives = 0
reussites = 0
print(f"Lecture du fichier pour {joueur} et action {action}")
with open(fichier, 'r') as f:
for ligne in f:
print(f"Ligne lue: {ligne.strip()}")
elements = ligne.strip().split()
if len(elements) >= 4 and elements[0] == joueur and action in elements[1]:
tentatives += 1
if 'reussi' in elements[1]:
reussites += 1
print(f"Résultats: {reussites} réussites sur {tentatives} tentatives")
return reussites, tentatives
# Fonction pour déterminer si le point est dans le demi-cercle (2 ou 3 points) sans utiliser sqrt
def points(x, y):
print(f"Calcul des points pour le tir aux coordonnées ({x}, {y})")
distanceA2 = (x - 0) ** 2 + (y - 300) ** 2
distanceB2 = (x - 1000) ** 2 + (y - 300) ** 2
print(f"Distances au carré : {distanceA2} (A) et {distanceB2} (B)")
if distanceA2 <= 300 ** 2 or distanceB2 <= 300 ** 2:
print("-> Tir à 2 points")
return 2
print("-> Tir à 3 points")
return 3
# Fonction pour calculer le total des points d'un joueur
def totalPoints(joueur, fichier='stats.txt'):
total = 0
print(f"Calcul du total des points pour {joueur}")
with open(fichier, 'r') as f:
for ligne in f:
elements = ligne.strip().split()
if len(elements) >= 4 and elements[0] == joueur and 'tir-reussi' in elements[1]:
x, y = int(elements[2]), int(elements[3])
total += points(x, y)
elif len(elements) >= 4 and elements[0] == joueur and 'lancer-reu' in elements[1]:
total += 1
print(f"Total des points pour {joueur} : {total}")
return total
# Fonction pour compter les rebonds et les passes
def rebondsPasses(joueur, fichier='stats.txt'):
rebonds = 0
passes = 0
print(f"Calcul des rebonds et passes pour {joueur}")
with open(fichier, 'r') as f:
for ligne in f:
elements = ligne.strip().split()
if len(elements) >= 2 and elements[0] == joueur:
if 'rebond' in elements[1]:
rebonds += 1
if 'passe' in elements[1]:
passes += 1
print(f"Rebonds: {rebonds}, Passes: {passes}")
return rebonds, passes
# Fonction pour compter les actions manquées
def manque(joueur, fichier='stats.txt'):
manques = 0
print(f"Calcul des actions manquées pour {joueur}")
with open(fichier, 'r') as f:
for ligne in f:
elements = ligne.strip().split()
if len(elements) >= 2 and elements[0] == joueur and ('tir-manque' in elements[1] or 'perteBalle' in elements[1]):
manques += 1
print(f"Total des actions manquées : {manques}")
return manques
# Fonction pour afficher les statistiques d'un joueur
def afficheStats(joueur, fichier='stats.txt'):
print(f"\n*** Affichage des statistiques pour {joueur} ***")
points = totalPoints(joueur, fichier)
reussites, tentatives = reussite(joueur, 'tir', fichier)
rebonds, passes = rebondsPasses(joueur, fichier)
manques_total = manque(joueur, fichier)
pourcentage_reussite = (reussites / tentatives * 100) if tentatives > 0 else 0
print(f"- Points marqués : {points}")
print(f"- Pourcentage de réussite aux tirs : {pourcentage_reussite:.2f}%")
print(f"- Nombre de rebonds : {rebonds}")
print(f"- Nombre de passes : {passes}")
print(f"- Actions manquées (y compris pertes de balle) : {manques_total}")
# Exemple d'utilisation
# afficheStats('J4')
afficheStats('J4')
Loading…
Cancel
Save