Bonjour,
Je suis désolée de vous demander ça mais je dois rendre un exercice cette semaine et comme cela fait déjà une semaine que je suis bloquée desus, je fais appel à votre bonté
Je dois faire un exercice pour gérer les résultats d'une élection. J'ai un fichier "candidats" avec les noms des candidats et leur parti et un fichier "votes" avec ce qui a été lu sur chaque bulletin (un bulletin par ligne). Sur certains bulletins, il est marqué n'importe quoi c'est les bulletins nuls.
Je dois d'abord écrire une fonction qui, à partir du fichier des candidats, crée le dictionnaire en initialisant les listes de valeurs par (parti,0,0). le 1e 0 correspond au nombre de voix; le 2e 0 au pourcentage de voix. pour le candidat en question.(On prévoira une entrée pour les bulletins blancs.)
Pour ça, j'ai fait:
et après je suis bloquée...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 def dictionnaire_resultats(f1,f2): candidats=open(f1,'r') votes=open(f2,'r') resultat={} for ligne in candidats: ligne=candidats.readline() nom, parti=ligne.split() resultat[nom]=parti for ligne in votes: ligne=votes.redline()
Et après,je dois écrire une fonction qui à partir du fichier des votes calcule le nombre de voix obtenues par chaque candidat et met à jour le dictionnaire des résultats. Cette fonction retourne le nombre d'électeurs, le nombre de votes non nuls et le nombre de bulletins nuls. Puis je dois écrire une fonction qui calcule pour chaque candidat le pourcentage de voix obtenues et met à jour le dictionnaire des résultats. Et enfin, écrire une fonction de comparaison qui prend en argument deux listes décrivant deux candidats sous la forme [nom, [parti, nbv, pourc]] et qui compare leur attribut "nbv".
Cette fonction renvoie :
- zéro s'ils ont le même nombre de voix
- un nombre négatif si le premier est plus grand
- un nombre positif si le premier est plus petit
Partager