Code du projet NSI sur l'analyse automatique des tirs de basket.
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.

71 lines
3.1 KiB

from math import *#Si une variable possède un PLH dans le code final fonctionnel, c'est un placeholder et doit
#Être supprimé. (Et cette ligne aussi)(Le fichier code devrait aussi etre renommé)
#I use arch, btw
#Je laisse le reste sinon on va croire que j'ai tout fait tout seul x)
#Bon courage :D
#Si j'ai fais une erreur faut la corriger (ou si vous trouvez un meilleur moyen de faire cela)
def reussite (joueur,action):
"""Prend en valeur un nom de joueur et une action et donne
(<actions_prises_par_le_joueur>,<actions_reussies_de_ce_joueur>)"""
actions_reussies = 0
actions_prises = 0
with open("stats.txt",'r') as fichier_stat:
for ligne in fichier_stat:
ligne_separe = ligne.split(" ")
if ligne_separe[0] == joueur and action in ligne_separe[1]:
actions_prises += 1
if 'reussi' in ligne_separe[1]:
actions_reussies += 1
return actions_prises,actions_reussies
def points (x,y):
"""la fonction doit prendre en paramètres x et y
les coords du point d'action et doit renvoyer 2 ou 3 en fonction du point de tir"""
coords_demic= 2*pi*250
if : #oui je confirme c pas fini j'y regarde dm en codage parce que la je seche et faut qu je revise l'histoire
return 2 #Donc je laisse faire (un carré n'est pas un demi cercle)
else : # ce ce qui me semblait on en a parlé ce matin dcp
return 3 #DCP LAISSEZ MOI(COCO) CETTE FONCTION SVP
def totalPoints(joueur):
"""Utilise la fonction 'points()' pour calculer les points
d'un joueur donné."""
def rebondsPasses(joueur):
"""Prend en paramètre un nom de joueur et donne (<nombre_de_rebonds>,
<nombre_de_passes>)"""
nombre_de_rebonds = 0
nombre_de_passes = 0
with open('stats.txt','r') as fichier_stat:
for ligne in fichier_stat:
ligne_separe = ligne.split(" ")
if ligne_separe[0] == joueur:
if 'rebond' in ligne_separe[1]:
nombre_de_rebonds += 1
elif 'passe' in ligne_separe[1]:
nombre_de_passes += 1
return nombre_de_rebonds,nombre_de_passes
#Je ne suis pas sur si il faut changer quelque chose avec le deux types de rebonds
#On verra.
def manque(joueur):
"""Prend un nom de joueur et retourne le nombre d'actions manquées et
de pertes de balle par le joueur."""
nombre_de_rates_et_pertes = 0
with open('stats.txt','r') as fichier_stat:
for ligne in fichier_stat:
ligne_separe = ligne.split(" ")
if ligne_separe[0] == joueur:
if 'manque' in ligne_separe[1] or 'perteBalle' in ligne_separe[1]:
nombre_de_rates_et_pertes += 1
return nombre_de_rates_et_pertes
def afficheStats(joueur):"""diff stats points marqués, pourcentage de reussite etc"""
#TESTS :
print('Le joueur 1 a tiré et réussi', reussite('J1','tir'))
print('le joueur 1 a fait ce nombre de rebonds et passes',rebondsPasses('J1'))
print('Le joueur 1 a raté et perdu la balle',manque('J1'),'fois')