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.

48 lines
1.8 KiB

"""
Dans `reussite`, oubli des lancers francs pour lesquels l'action est "reu" et pas "reussi".
Dans `totalPoints` :
lancers francs non pris en compte
tirs ratés comptés comme réussis.
Note : 16
"""
def reussite(joueur, action):
"""Prend deux chaînes de caractères :
- joueur (le nom du joueur),
- action (le type d’action : tir ou lancer).
Renvoie deux entiers :
- le nombre de tentatives
- le nombre de réussit sur l’action en question """
with open('stats.txt', 'r') as stats:
stats = stats.readlines()
nb_action = 0
nb_reussite_action = 0
for ligne in stats:
ligne = ligne.strip().split(' ')
if ligne[0] == joueur and ligne[1].split('-')[0] == action:
nb_action += 1
if ligne[0] == joueur and ligne[1].split('-')[1] == "reussi":
nb_reussite_action += 1
return nb_action, nb_reussite_action
def points(x, y):
"""Prend deux entiers x et y (les coordonnées du point où a eu lieu l’action).
Renvoie un entier:
- 2 si le point est à l’intérieur d’un des demi-cercles
- 3 sinon"""
if x**2+(y-300)**2 <= 62500 or (x-1000)**2+(y-300)**2 <= 62500:
return 2
else:
return 3
def totalPoints(joueur):
"""Prend une chaîne de caractère joueur (le nom du joueur)
Renvoie le nombre total de points marqués par ce joueur."""
with open('stats.txt', 'r') as stats:
nb_total_points = 0
for ligne in stats:
ligne = ligne.strip().split(' ')
if ligne[0] == joueur:
coord_x, coord_y = int(ligne[2]), int(ligne[3])
nb_total_points += points(coord_x, coord_y)
return nb_total_points