From 05e87fb3acef721e9d8f334dc2c53e02fb8ecbc6 Mon Sep 17 00:00:00 2001 From: "laura.dumontet" Date: Fri, 8 Mar 2024 11:53:20 +0100 Subject: [PATCH] ajout des exos --- exercice_1_2_3.py | 53 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 exercice_1_2_3.py diff --git a/exercice_1_2_3.py b/exercice_1_2_3.py new file mode 100644 index 0000000..39869a1 --- /dev/null +++ b/exercice_1_2_3.py @@ -0,0 +1,53 @@ +import math + +def reussite(joueur, action): + nbtentatives = 0 + nbreussites = 0 + with open('stats.txt','r') as file: + for line in file: + elements = line.split(' ') + acte, resultat = elements[1].split('-') + if elements[0] == joueur and acte == action : + nbtentatives += 1 + if "reussi" in resultat: + nbreussites += 1 + print(nbtentatives, nbreussites) + return nbtentatives, nbreussites + + +def points(x, y): + """ fonction points prenant en paramètres deux entiers x et y (les coordonnées du point où a eu +lieu l’action) et qui renvoie l’entier 2 si le point est à l’intérieur d’un des demi-cercles et 3 sinon""" + # Calcule la distance entre le tire et le demi-cercle + dist = math.sqrt(x**2 + (y-300)**2) + + # Si il est dans le cerle renvoie 2 sinon 3 + if dist <= 300: + return 2 + else: + return 3 + +def totalPoints(joueur): + """Fonction totalPoints qui prend en paramètre une chaîne de caractère joueur (le nom du +joueur) et qui renvoie le nombre total de points marqués par ce joueur""" + total = 0 + + + with open("stats.txt", "r") as file: + for line in file: + data = line.strip().split(" ") + if data[0] == joueur: + x, y = int(data[2]), int(data[3]) #Coordonnées du tir + total += points(x, y) * int(data[4]) #mise a jour du total de point + return total + +def main(): + print(reussite("J6V", "tir")) + print(points(0, 300)) + print(totalPoints("J6V")) + + print(reussite("J6", "tir")) + print(points(0, 300)) + print(totalPoints("J6")) + +main() \ No newline at end of file