CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Aide programme lié aux permutations de listes

titanapprend
titanapprend
Niveau 1
11 mars 2023 à 13:33:39

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"] (pas de crochet au début sinon la liste ne s'affiche pas dans mon messsage)

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()

  1. Création du canevas pour afficher le tableau

canevas = tk.Canvas(root, width=750, height=600, bg="white")
canevas.pack(expand=True)

  1. Dimensions du tableau

cell_width = 150
cell_height = 27

nombre_amis=5

  1. Création du tableau avec les noms des amis et leur classement
  2. 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'))

  1. 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'))

  1. Ligne en dessous du nom des amis

canevas.create_line(0,35,1500,35)

  1. Lignes entre les listes

for i in range(nombre_amis):
canevas.create_line(i*cell_width,0,i*cell_width,1500)

  1. Ligne à la fin de la liste

canevas.create_line(0,585,1500,585)

  1. 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)

  1. Lancer la boucle principale de tkinter

root.mainloop()

  1. 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)'''

Message édité le 11 mars 2023 à 13:35:49 par titanapprend
Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment