from random import randint from tkinter import * def melanger(word,permut): """ Mélange aléatoire des lettres centrales d'un mot""" # construire une liste des caractères du mot liste = list(word) # mélanger la liste if len(liste)>3: for i in range(permut): a, b = randint(1,len(liste)-2), randint(1,len(liste)-2) # choisir aléatoirement deux lettres centrales liste[a], liste[b] = liste[b], liste[a] # les permuter # reconstruire le mot à partir de la liste mélangée wrod = ''.join(liste) return wrod def transformerTexte(permut): texte1 = zone_TC.get('1.0','end') texte2 = "" mot = "" for i in range(len(texte1)): c = texte1[i] if c in [" ","'",",",";",".",":","!","?","\n","(",")","-"]: texte2 = texte2 + melanger(mot,permut) + c mot = "" else : mot = mot + c zone_TM.delete('1.0','end') # Effacer le contenu zone_TM.insert('insert',texte2) # -----------------------------Prog --------------------------------------------------------- # Création de l'interface graphique # Création de la fenêtre fenetre = Tk() fenetre.title('Permutations de lettres') # Création des zones de texte et du bouton Label(fenetre, text="Entrez ici le texte à traiter :").grid(column=0, row=0, sticky='w') zone_TC = Text(fenetre, width=50, height=10, wrap='word', background='#d0d0d0') zone_TC.grid(column=0, columnspan=4, row=1, sticky=('w','e')) Label(fenetre, text='Choisissez le nombre de permutations : ').grid(column=0, row=2, sticky='w') Button(fenetre, text=" 1 ", relief='groove', command=lambda arg=1:transformerTexte(arg)).grid(column=1, row=2) Button(fenetre, text=" 2 ", relief='groove', command=lambda arg=2:transformerTexte(arg)).grid(column=2, row=2) Button(fenetre, text=" 3 ", relief='groove', command=lambda arg=3:transformerTexte(arg)).grid(column=3, row=2) Label(fenetre, text="Texte après mélange des lettres :").grid(column=0, row=3, sticky='w') zone_TM = Text(fenetre, width=50, height=10, wrap='word', background='#d0d0d0') zone_TM.grid(column=0, columnspan=4, row=4, sticky=('w','e')) Label(fenetre, text='Coded by THE_VIP & VieuxLolo', font='arial 7').grid(column=0, columnspan=3, row=5, sticky=('w','e')) Button(fenetre, text='Quitter', relief='groove', command=fenetre.destroy).grid(column=3, row=5) zone_TC.focus() # Lancement du programme fenetre.mainloop()