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.

56 lines
1.8 KiB

8 months ago
import math
def reussite(joueur, action):
nbtentatives = 0
nbreussites = 0
with open('stats.txt','r') as file:
for line in file:
elements = line.split(' ')
8 months ago
resultat = elements[1].split('-')
if elements[0] == joueur and resultat[0] == action:
8 months ago
nbtentatives += 1
8 months ago
if 'reussi' in elements[1] or 'reu' in elements[1]:
8 months ago
nbreussites += 1
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 laction) et qui renvoie lentier 2 si le point est à lintérieur dun des demi-cercles et 3 sinon"""
# Calcule la distance entre le tire et le demi-cercle
8 months ago
dist1 = math.sqrt(x**2 + (y-300)**2)
dist2 = math.sqrt((x-1000)**2 + (y-300)**2)
8 months ago
# Si il est dans le cerle renvoie 2 sinon 3
8 months ago
if dist1 < 250 or dist2 < 250 :
8 months ago
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:
8 months ago
if data[1] == "tir-reussi" or data[1] == "lancer-reu":
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
8 months ago
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"))
8 months ago
8 months ago
8 months ago
main()