Classement Formule 1 Automatisé Python

Résolu/Fermé
ThomasKop - 31 oct. 2022 à 16:03
 Diablo76 - 4 nov. 2022 à 18:13

Bonjour,

Je m'appelle Thomas et je débute en python.
J'ai essayé après de nombreuses recherches de créer un classement automatisé de Formule 1 en python. Mais malheureusement, il ne marche pas, après de nombreuses recherches je n'ai toujours pas trouvé la solution, je me tourne donc vers des forums python ou j'espère y trouver mes réponses

Voilà le code : 

import urllib.request, json

def get_classement():

with urllib.request.urlopen("https://ergast.com/api/f1/2022/driverStandings.json") as url:

data = json.loads(url.read().decode())

fichier = open("classement.txt", "w")

for driver in data["MRData"]["StandingsTable"]["StandingsLists"][0]["DriverStandings"]:

nom_complet = driver["Driver"]["givenName"]+" "+driver["Driver"]["familyName"]

classement = driver["position"]

points = driver["points"]

fichier.write(classement+" - "+nom_complet.upper()+" - "+points+"PTS"+"\n")

fichier.close()

En espérant que vous pouvez m'aider,

Merci 

A voir également:

2 réponses

Salut,

Sympa cette adresse :-)

je n'aurais pas choisi le module urllib mais plutôt requests

Voilà ce que ça donne, j'ai seulement supprimé la partie enregistrement dans un fichier.

import requests

def get_classement():

    req = requests.get("https://ergast.com/api/f1/2022/driverStandings.json") 
    data = req.json()

    for driver in data["MRData"]["StandingsTable"]["StandingsLists"][0]["DriverStandings"]:
            nom_complet = driver["Driver"]["givenName"]+" "+driver["Driver"]["familyName"]
            classement = driver["position"]
            points = driver["points"]
            print(classement+" - "+nom_complet.upper()+" - "+points+"PTS")


get_classement()

Et la sortie :

1 - MAX VERSTAPPEN - 416PTS
2 - SERGIO PÉREZ - 280PTS
3 - CHARLES LECLERC - 275PTS
4 - GEORGE RUSSELL - 231PTS
5 - LEWIS HAMILTON - 216PTS
6 - CARLOS SAINZ - 212PTS
7 - LANDO NORRIS - 111PTS
8 - ESTEBAN OCON - 82PTS
9 - FERNANDO ALONSO - 71PTS
10 - VALTTERI BOTTAS - 47PTS
11 - SEBASTIAN VETTEL - 36PTS
12 - DANIEL RICCIARDO - 35PTS
13 - KEVIN MAGNUSSEN - 24PTS
14 - PIERRE GASLY - 23PTS
15 - LANCE STROLL - 13PTS
16 - MICK SCHUMACHER - 12PTS
17 - YUKI TSUNODA - 12PTS
18 - GUANYU ZHOU - 6PTS
19 - ALEXANDER ALBON - 4PTS
20 - NICHOLAS LATIFI - 2PTS
21 - NYCK DE VRIES - 2PTS
22 - NICO HÜLKENBERG - 0PTS
1

Merci Beaucoup !

0

Ma dernière question serait de savoir comment insérer se programme dans un site web html.

Merci,

Thomas

0
Diablo76 > ThomasKop
Modifié le 4 nov. 2022 à 18:19

Là du coup on est très loin de ta question initiale !!!!

Javascript sait très bien le faire, récupérer un fichier json et l'injecter dynamiquement dans une page web

Pose la question sur le forum Javascript.

0
yg_be Messages postés 22905 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 juin 2024 1 480
31 oct. 2022 à 18:11

bonjour,

Merci de tenir compte de ceci quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code

Ton code ne se comporte pas comme tu le souhaites?

0