hypone | Bonjour, j'aimerai créer un classement par rapport à un goalverage j'ai déjà créer les fonctions qui donne le goalverage des qu'on tape le nom d'un club il nous le donne, maitenant j'aimerai les classer par rapport à ça.
Code :
- #importation
- import csv
- #Fonction
- csvfile = open ("ligue1.data", "rb" )
- lines = csv.reader(csvfile)
- ListeClub = ["Ajaccio","Bastia","Bordeaux","Evian","Guingamp","Lille","Lorient","Lyon","Marseille","Monaco","Montpellier","Nantes","Nice","Paris","Reims","Rennes","Saint-Etienne","Sochaux","Toulouse","Valenciennes"]
- ClassementGolaverage=[]
- #But marque
- def ButMarqueDomicile(y,DesLignes,UneListe):
- csvfile = open ("ligue1.data", "rb" )
- DesLignes=csv.reader(csvfile)
- UneListe=ListeClub
- pointeur_liste=ListeClub.index(y)
- sommebutdomicile = 0
- k = 0
- for row in DesLignes:
- if row[1] == ListeClub[pointeur_liste]:
- k = int(row[3])
- sommebutdomicile += k
- return(sommebutdomicile)
- def ButMarqueExterieur(y,DesLignes,UneListe):
- csvfile = open ("ligue1.data", "rb" )
- DesLignes=csv.reader(csvfile)
- UneListe=ListeClub
- pointeur_liste=ListeClub.index(y)
- sommebutexterieur = 0
- e = 0
- for row in DesLignes:
- if row[2] == ListeClub[pointeur_liste]:
- e = int(row[4])
- sommebutexterieur += e
- return(sommebutexterieur)
- #but encaisse
- def ButEncaisseDomicile(y,DesLignes,UneListe):
- csvfile = open ("ligue1.data", "rb" )
- DesLignes=csv.reader(csvfile)
- UneListe=ListeClub
- pointeur_liste=ListeClub.index(y)
- sommebutencaissedomicile = 0
- k = 0
- for row in DesLignes:
- if row[1] == ListeClub[pointeur_liste]:
- k = int(row[4])
- sommebutencaissedomicile += k
- return(sommebutencaissedomicile)
- def ButEncaisseExterieur (y,DesLignes,UneListe):
- csvfile = open ("ligue1.data", "rb" )
- DesLignes=csv.reader(csvfile)
- UneListe=ListeClub
- pointeur_liste=ListeClub.index(y)
- sommebutexterieur = 0
- e = 0
- for row in DesLignes:
- if row[2] == ListeClub[pointeur_liste]:
- e = int(row[3])
- sommebutexterieur += e
- return(sommebutexterieur)
- #Goalaverage
- def Goalaverage():
- y=input("Entrez le nom d'un club de Ligue 1 :" )
- while y not in ListeClub:
- y=input("Entrez le nom d'un autre club de Ligue 1 :" )
- a=ButMarqueDomicile(y,lines,ListeClub)
- b=ButMarqueExterieur(y,lines,ListeClub)
- c=ButEncaisseDomicile(y,lines,ListeClub)
- d=ButEncaisseExterieur(y,lines,ListeClub)
- e=a+b
- f=c+d
- return(e-f)
|
Tous d'abord je voulais créer une fonction qui donne le goalaverage de chaque club, puis qui les transferts dans une liste vide et qui les tris par ordre croissant(je sais pas si c'est la bonne solution) donc j'ai fais ça:
Code :
- def afficherGolaverage():
- for y in ListeClub:
- a=ButMarqueDomicile(y,lines,ListeClub)
- b=ButMarqueExterieur(y,lines,ListeClub)
- c=ButEncaisseDomicile(y,lines,ListeClub)
- d=ButEncaisseExterieur(y,lines,ListeClub)
- e=a+b
- f=c+d
- return(e-f)
|
Mais il m'affiche toujours le goalaverage du dernier élément de la liste, J'ai essayé d'ajouter une boucle pour le faire parcourir les éléments de liste mais ça ne marche pas, si quelqu'un peut m'aider merci. |