Bonjour à tous,
J'aurais besoin d'aide concernant un programme que je souhaite réaliser, le but est le suivant :
J'ai une liste de base correspondant au classement de ligue 1 de la saison 2021-2022, avec cette liste j'en créé 5 nouvelles qui sont des listes mélangées, correspondant aux pronostics de 5 amis avant le début de la saison et je souhaite créer une fonction de permutations permettant de retrouver la liste de base pour mes 5 listes mélangées et de compter le nombre de permutations, les permutations je n'ai le droit de les faire qu'entre 2 éléments consécutifs et il faut que je commence par permuter le premier élément de ma liste de base dans ma liste mélangée afin de le remettre en première position, dans cette liste mélangée, et ainsi de suite jusqu'au dernier, commencer par permuter le premier élément de la liste de base permet d'optimiser le nombre de permutations qu'il y aura à faire dans la liste mélangée, je voudrais faire cela avec mes 5 listes mélangées et j'aimerais que ma fonction compte le nombre de permutations effectuées dans chacune des listes, l'ami ayant le moins de permutations dans son classement gagne. Voici le programme que j'ai fait mais que ne fonctionne pas, j'espère que vous pourrez m'aider. Merci.
classement=["PSG", "OM", "Monaco", "Rennes", "Nice", "Strasbourg", "Lens", "OL", "Nantes", "LOSC", "Brest", "Reims", "Montpellier", "Angers", "Troyes", "Lorient", "Clermont", "ASSE", "Metz", "Bordeaux"]
import random
import tkinter as tk
def shuffle_list(prono):
shuffle_list = []
for i in range(0,5):
shuffle_list.append(random.sample(prono, len(prono)))
return shuffle_list
shuffle_list = shuffle_list(classement)
for i, shuffle in enumerate(shuffle_list):
print(f"Ami {i+1}: {shuffle}")
def permute(prono):
n = len(prono)
count = 0
global classement
for i in range(n-1):
while prono[i] != classement[i]:
prono[i-1], prono[i] = prono[i], prono[i-1]
count += 1
print(f"{count} permutations pour: {prono}")
return prono
'''# Création de la fenêtre tk et du titre de la fenêtre
root = tk.Tk()
root.attributes('-fullscreen', True)
root.config(bg="light green")
titre = tk.Label(root, text="Pronostics des amis et leur score", font=("Arial", 40), bg="light green")
titre.pack()
# Création du canevas pour afficher le tableau
canevas = tk.Canvas(root, width=750, height=600, bg="white")
canevas.pack(expand=True)
# Dimensions du tableau
cell_width = 150
cell_height = 27
nombre_amis=5
# Création du tableau avec les noms des amis et leur classement
# Création du nom de la colonne avec le nom de chaque ami
for i in range(nombre_amis):
canevas.create_text((i+0.2)*cell_width+40, cell_height/2, text=f"Ami {i+1}", font=('Arial 14 bold'))
# Création du classement correspondant à chaque ami
for i in range(nombre_amis):
for j in range(20):
canevas.create_text((i+0.2)*cell_width+40, (j+1.5)*cell_height+15, text=f"{shuffle_list[i][j]}", font=('Arial 12'))
#Ligne en dessous du nom des amis
canevas.create_line(0,35,1500,35)
#Lignes entre les listes
for i in range(nombre_amis):
canevas.create_line(i*cell_width,0,i*cell_width,1500)
#Ligne à la fin de la liste
canevas.create_line(0,585,1500,585)
# Création de l'affichage du vainqueur
label_vainqueur = []
label_vainqueur = tk.Label(root, text="Le vainqueur est ",font=('Arial 30 bold'),fg="red", bg="light green")
label_vainqueur.place(x=600, y=775)
# Lancer la boucle principale de tkinter
root.mainloop()
# Création du bouton quitter la fenêtre
bouton_quitter = tk.Button(root, text="QUITTER", command=root.destroy)
bouton_quitter.place(x=1425, y=25)'''
Partager