Classement Formule 1 Automatisé Python
RésoluDiablo76 -
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
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
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
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?