2 changed files with 284 additions and 0 deletions
@ -0,0 +1,87 @@ |
|||
### un fichier python doit avoir une extension en .py |
|||
### un nom de fonction ou de variable ne doit pas comporter d'espace |
|||
### une documentation de fonction doit être entre """ """ et pas *** *** |
|||
### vous n'avez pas testé vos fonctions |
|||
### structure for ligne in pas if |
|||
### et j'en passe ... des approximations pratiquement à toutes les lignes 4 erreurs juste dans la première fonction |
|||
### j'ai corrigé 17 lignes pour faire fonctionner le programme |
|||
### le pourcentage de réussite de fonctionne pas |
|||
### pour le calcul totatl des points il faut prendre en compte les lancers francs |
|||
### note : 7 |
|||
|
|||
def charger_donnees (fichiers): #il ne faut pas d'espace dans le nom de la fonction |
|||
#***Charge les donnees depuis un fichier texte et retourne une liste de tuples.*** |
|||
donnees = [] |
|||
with open (fichiers, "r")as f: #il faut choisir soit fichiers soit fichier |
|||
for ligne in f: # in pas if |
|||
elements = ligne.strip().split() #line ou ligne? |
|||
if len (elements) == 4: |
|||
joueur, action, x,y = elements |
|||
donnees.append((joueur, action, int(x), int(y))) # c'est un point pas une virgule ... |
|||
return donnees |
|||
|
|||
def reussite(donnees, joueur, action): |
|||
#***Retourne le nombre de tentatives et reussites pour un joueur et une action donnees.*** |
|||
tentatives = 0 |
|||
reussites = 0 |
|||
for j, a, _, _ in donnees: # il faut mettre : et un espace avant in |
|||
if j == joueur and action in a: |
|||
tentatives += 1 |
|||
if a == action + "reussi": |
|||
reussites += 1 |
|||
return tentatives, reussites |
|||
|
|||
def points (x, y): |
|||
#***Determine le nombre de points en fonction de la position du tir.*** |
|||
if (x - 0) ** 2+ ( y- 300) ** 2<= 150 ** 2 or (x - 1000) ** 2 + (y - 300) ** 2 <= 150** 2: |
|||
return 2 |
|||
return 3 |
|||
|
|||
def totalPoints(donnees, joueur): |
|||
#***Calcule le total de points marqués par un joueur*** |
|||
total = 0 |
|||
for j,a,x,y in donnees: |
|||
if j == joueur and a == "tir-reussi": |
|||
total += points (x,y) |
|||
return total |
|||
|
|||
def rebondsPasses( donnees, joueur): # il faut mettre : |
|||
#***Retoune le nombre de rebonds et de passes d un joueur.*** |
|||
rebonds = 0 |
|||
passes = 0 |
|||
for j, a, _, _ in donnees: |
|||
if j == joueur: |
|||
if"rebonds" in a : |
|||
rebonds += 1 |
|||
elif a == "passe": |
|||
passes += 1 |
|||
return rebonds, passes |
|||
|
|||
def manque (donnees, joueur): |
|||
#***Retourne le nombre d actions manquees par un joueur.*** |
|||
tirs_manques = 0 |
|||
pertes = 0 |
|||
for j, a, _, _ in donnees: |
|||
if j == joueur: |
|||
if a == "tir-manque": |
|||
tir_manques += 1 |
|||
elif a == "perteBalle": |
|||
pertes += 1 |
|||
return tirs_manques + pertes |
|||
|
|||
def afficheStats(donnees, joueur): |
|||
#***Affiche les statistiques completes d un joueur.*** |
|||
points_marques = totalPoints(donnees, joueur) |
|||
tentatives, reussites = reussite( donnees, joueur, "tir") |
|||
rebonds, passes = rebondsPasses(donnees,joueur) |
|||
poucentage = (reussites / tentatives * 100) if tentatives > 0 else 0 |
|||
print("Statistiques de", joueur) |
|||
print("-Points marques:", points_marques) |
|||
print("-Reussite au tir:", round(poucentage, 2), "%") #pourcentage ou poucentage ? |
|||
print("-Rebonds:", rebonds, "passes", passes) |
|||
|
|||
#Chargements des donnees et tests |
|||
fichier_stats = "stats.txt" # ce n'est pas le fichier qui était donné, stats.txt pour le bon pas stats.odf |
|||
donnees = charger_donnees(fichier_stats) |
|||
|
|||
afficheStats(donnees, "J1") |
@ -0,0 +1,197 @@ |
|||
J1 tir-reussi 68 288 |
|||
J1 tir-reussi 22 397 |
|||
J1 tir-reussi 848 183 |
|||
J1 tir-reussi 957 196 |
|||
J1 tir-reussi 859 387 |
|||
J1 tir-reussi 829 201 |
|||
J1 tir-manque 79 242 |
|||
J1 tir-manque 96 258 |
|||
J1 tir-manque 69 244 |
|||
J1 tir-manque 894 171 |
|||
J1 tir-manque 961 183 |
|||
J1 tir-manque 893 66 |
|||
J1 tir-manque 884 46 |
|||
J1 tir-manque 783 444 |
|||
J1 lancer-reu 187 306 |
|||
J1 lancer-rat 190 303 |
|||
J1 lancer-rat 818 302 |
|||
J1 lancer-rat 817 297 |
|||
J1 rebondOff 150 310 |
|||
J1 rebondOff 920 300 |
|||
J1 rebondOff 897 230 |
|||
J1 rebondOff 900 317 |
|||
J1 passe 50 280 |
|||
J1 passe 800 220 |
|||
J1 passe 720 336 |
|||
J1V rebondDef 100 360 |
|||
J2 tir-reussi 45 265 |
|||
J2 tir-reussi 58 266 |
|||
J2 tir-reussi 77 259 |
|||
J2 tir-reussi 63 310 |
|||
J2 tir-reussi 42 260 |
|||
J2 tir-reussi 974 269 |
|||
J2 tir-reussi 974 261 |
|||
J2 tir-reussi 967 309 |
|||
J2 tir-reussi 749 378 |
|||
J2 tir-reussi 970 321 |
|||
J2 tir-reussi 967 318 |
|||
J2 tir-reussi 977 256 |
|||
J2 tir-manque 20 330 |
|||
J2 tir-manque 37 261 |
|||
J2 tir-manque 100 253 |
|||
J2 tir-manque 60 76 |
|||
J2 tir-manque 223 179 |
|||
J2 tir-manque 971 301 |
|||
J2 tir-manque 926 305 |
|||
J2 tir-manque 953 324 |
|||
J2 lancer-reu 185 301 |
|||
J2 lancer-reu 815 297 |
|||
J2 lancer-rat 189 297 |
|||
J2 lancer-rat 816 290 |
|||
J2 rebondOff 920 286 |
|||
J2 passe 239 260 |
|||
J2V tir-reussi 928 330 |
|||
J2V tir-reussi 959 322 |
|||
J2V rebondDef 75 300 |
|||
J2V rebondDef 900 284 |
|||
J2V perteBalle 280 420 |
|||
J3 rebondOff 897 275 |
|||
J3 rebondDef 900 285 |
|||
J3 perteBalle 520 100 |
|||
J3V tir-reussi 84 265 |
|||
J3V tir-reussi 51 249 |
|||
J3V tir-reussi 135 438 |
|||
J3V tir-reussi 114 247 |
|||
J3V tir-manque 44 317 |
|||
J3V lancer-rat 815 300 |
|||
J3V lancer-rat 817 294 |
|||
J3V lancer-rat 184 300 |
|||
J3V rebondDef 900 330 |
|||
J3V perteBalle 450 200 |
|||
J3V perteBalle 223 398 |
|||
J4 rebondOff 100 280 |
|||
J4 rebondOff 50 380 |
|||
J4 perteBalle 150 250 |
|||
J4 passe 200 150 |
|||
J4V tir-reussi 928 258 |
|||
J4V tir-manque 814 158 |
|||
J4V tir-manque 43 270 |
|||
J4V lancer-reu 185 290 |
|||
J4V lancer-reu 183 295 |
|||
J4V lancer-rat 184 298 |
|||
J4V lancer-rat 185 294 |
|||
J4V perteBalle 750 423 |
|||
J5 tir-reussi 956 242 |
|||
J5 tir-manque 44 316 |
|||
J5 tir-manque 111 108 |
|||
J5 tir-manque 78 92 |
|||
J5 tir-manque 105 242 |
|||
J5 tir-manque 43 492 |
|||
J5 tir-manque 923 303 |
|||
J5 tir-manque 973 421 |
|||
J5 tir-manque 905 261 |
|||
J5 tir-manque 956 259 |
|||
J5 tir-manque 861 150 |
|||
J5V tir-reussi 181 229 |
|||
J6 tir-manque 80 294 |
|||
J6V tir-reussi 59 254 |
|||
J6V tir-manque 884 292 |
|||
J6V tir-manque 919 282 |
|||
J6V lancer-reu 817 301 |
|||
J6V lancer-rat 815 307 |
|||
J7 tir-reussi 929 265 |
|||
J7 tir-manque 155 154 |
|||
J7 tir-manque 176 183 |
|||
J7 tir-manque 41 79 |
|||
J7 tir-manque 982 314 |
|||
J7 tir-manque 974 326 |
|||
J7 tir-manque 919 262 |
|||
J7 tir-manque 810 299 |
|||
J7 tir-manque 871 172 |
|||
J7V tir-manque 976 323 |
|||
J7V tir-manque 59 326 |
|||
J8 tir-reussi 42 312 |
|||
J8 tir-reussi 57 270 |
|||
J8 tir-reussi 63 286 |
|||
J8 tir-reussi 35 273 |
|||
J8 tir-reussi 931 269 |
|||
J8 tir-reussi 928 292 |
|||
J8 tir-reussi 937 252 |
|||
J8 tir-manque 52 157 |
|||
J8 tir-manque 80 309 |
|||
J8 tir-manque 37 328 |
|||
J8 tir-manque 19 302 |
|||
J8 tir-manque 74 281 |
|||
J8 tir-manque 972 267 |
|||
J8 tir-manque 952 312 |
|||
J8 lancer-rat 183 297 |
|||
J8 lancer-rat 817 298 |
|||
J8 rebondOff 980 310 |
|||
J8V tir-reussi 981 319 |
|||
J8V tir-reussi 908 116 |
|||
J8V tir-reussi 975 317 |
|||
J8V tir-reussi 971 307 |
|||
J8V tir-reussi 971 307 |
|||
J8V tir-reussi 974 254 |
|||
J8V tir-reussi 945 366 |
|||
J8V tir-reussi 37 303 |
|||
J8V tir-reussi 49 423 |
|||
J8V tir-manque 899 260 |
|||
J8V tir-manque 53 264 |
|||
J8V tir-manque 59 249 |
|||
J8V lancer-rat 815 294 |
|||
J8V lancer-rat 816 304 |
|||
J8V rebondOff 900 280 |
|||
J8V rebondDef 100 320 |
|||
J8V rebondDef 880 331 |
|||
J8V passe 750 250 |
|||
J9 tir-reussi 78 280 |
|||
J9 tir-reussi 67 255 |
|||
J9 tir-reussi 41 263 |
|||
J9 tir-manque 55 460 |
|||
J9 tir-manque 34 290 |
|||
J9 tir-manque 936 292 |
|||
J9 tir-manque 947 265 |
|||
J9 tir-manque 963 261 |
|||
J9 tir-manque 941 306 |
|||
J9 lancer-rat 816 300 |
|||
J9 lancer-rat 819 302 |
|||
J9 lancer-rat 814 299 |
|||
J9 lancer-rat 818 301 |
|||
J10V tir-reussi 977 323 |
|||
J10V tir-reussi 894 299 |
|||
J10V tir-reussi 938 557 |
|||
J10V tir-reussi 942 335 |
|||
J10V tir-reussi 955 306 |
|||
J10V tir-reussi 68 261 |
|||
J10V tir-reussi 51 294 |
|||
J10V tir-reussi 59 258 |
|||
J10V tir-reussi 77 274 |
|||
J10V tir-reussi 53 255 |
|||
J10V tir-reussi 82 258 |
|||
J10V tir-reussi 29 314 |
|||
J10V tir-reussi 178 114 |
|||
J10V tir-reussi 28 326 |
|||
J10V tir-reussi 64 258 |
|||
J10V tir-reussi 61 278 |
|||
J10V tir-manque 973 427 |
|||
J10V tir-manque 838 425 |
|||
J10V tir-manque 926 280 |
|||
J10V tir-manque 958 333 |
|||
J10V tir-manque 962 318 |
|||
J10V tir-manque 938 321 |
|||
J10V tir-manque 188 220 |
|||
J10V tir-manque 69 254 |
|||
J10V lancer-reu 817 296 |
|||
J10V lancer-reu 819 303 |
|||
J10V lancer-reu 183 298 |
|||
J10V lancer-rat 818 293 |
|||
J10V lancer-rat 819 300 |
|||
J10V lancer-rat 816 300 |
|||
J10V lancer-rat 815 297 |
|||
J10V lancer-rat 817 299 |
|||
J10V lancer-rat 818 300 |
|||
J10V lancer-rat 182 300 |
|||
J10V rebondOff 900 300 |
|||
J10V rebondDef 900 286 |
|||
J10V rebondDef 920 282 |
Loading…
Reference in new issue