Explorar el Código

Init repo

main
Heuzef hace 8 meses
padre
commit
004a7fe8fb
Se han modificado 2 ficheros con 99 adiciones y 0 borrados
  1. +87
    -0
      vote_borda.py
  2. +12
    -0
      winner.txt

+ 87
- 0
vote_borda.py Ver fichero

@@ -0,0 +1,87 @@
class Borda:
"""
Classe pour implémenter la méthode de Borda.
https://fr.wikipedia.org/wiki/M%C3%A9thode_Borda

Args:
projects: La liste des projets soumis au vote.
"""

def __init__(self, projects):
self.projects = projects
self.scores = {}

def calculate_scores(self, votes):
"""
Calcule le score de Borda pour chaque projet.

Args:
votes: Une liste de listes contenant les votes des membres du groupe.

Returns:
Un dictionnaire avec les scores de Borda pour chaque projet.
"""

for vote in votes:
for i, project in enumerate(vote):
if project not in self.scores:
self.scores[project] = 0
self.scores[project] += len(vote) - i - 1

def get_winner(self):
"""
Retourne le projet avec le score de Borda le plus élevé.

Returns:
Le projet gagnant.
"""

winner = None
max_score = -float("inf")
for project, score in self.scores.items():
if score > max_score:
max_score = score
winner = project

return winner

# Place aux votes
projects = ["A", "B", "C", "D", "E", "F", "G", "H", "I"]

projects_name = {
"A": "Accidents routiers en France",
"B": "Blood cells classification",
"C": "Classification de produits e-commerce Rakuten",
"D": "Emission de CO2 par les véhicules",
"E": "Prévision météo en Australie",
"F": "Reconnaissance de champignons",
"G": "Reconnaissance de plantes",
"H": "Supply Chain - Satisfaction des clients",
"I": "Temps de Réponse de la Brigade des Pompiers de Londres",
}

borda = Borda(projects)

votes = [
["A", "B", "C", "D", "E", "F", "G", "H", "I"], # Heuzef - @heuzef
["A", "B", "C", "D", "E", "F", "G", "H", "I"], # Yvan
["A", "B", "C", "D", "E", "F", "G", "H", "I"], # Viktoriia
["A", "B", "C", "D", "E", "F", "G", "H", "I"], # Florent - @FConstantMovework
]

borda.calculate_scores(votes)

winner = borda.get_winner()

print(f"""
Rires et roulements de tambour ... Le suspense est à son comble ...
Après un vote palpitant, c'est avec une immense joie que nous vous annonçons le grand gagnant :

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LE PROJET {winner} : {projects_name[winner]} !!!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Applaudissements nourris et cris de joie s'il vous plaît !
N'oubliez pas, il n'y a pas de perdants aujourd'hui, seulement des participants formidables !
Merci à tous d'avoir participé à ce vote !
""")

+ 12
- 0
winner.txt Ver fichero

@@ -0,0 +1,12 @@

Rires et roulements de tambour ... Le suspense est à son comble ...
Après un vote palpitant, c'est avec une immense joie que nous vous annonçons le grand gagnant :

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LE PROJET A : Accidents routiers en France !!!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Applaudissements nourris et cris de joie s'il vous plaît !
N'oubliez pas, il n'y a pas de perdants aujourd'hui, seulement des participants formidables !
Merci à tous d'avoir participé à ce vote !


Cargando…
Cancelar
Guardar