Bonjour, j'essaie de faire un mastermind, j'ai créé une liste de bouton qui doivent changer la couleur d'une case, mais ils la mettent toutes de la meme couleur
listeCouleur=["blue","red","purple","black","white","orange","yellow","chocolate4","pink","cyan"]
listeBoutonCouleur=[]
for i in range (10):
listeBoutonCouleur.append(Button(frame2, text=listeCouleur[i], fg=listeCouleur[i],bg="grey",command= lambda :setCouleurRond(listeCouleur[i],canvas),))
listeBoutonCouleur[i].grid(column=0,row=i)
Le problème c'est que i change comme il est dans la boucle et setCouleurRond(listeCouleur[i],canvas) est le même pour tous les boutons à la fin de la boucle
bonjour, j'ai a peu près le même problème. j'essaie de créer une application pour lire des musiques mais pour cela je créer un bouton pour chaque musique que je met dans une liste. or au moment d'appeler la musique quand le bouton est cliqué, ça lance seulement la dernière musique.
je tient à préciser que je suis débutant en programmation
paths = str(Path(__file__).parent)
musics = []
for i in (Path(paths + "\\musiques").glob('*.wav')):
musics.append(i)
musics_boutons = []
def son(a):
print(a)
for i in musics:
name = extract_name(str(i))
musics_boutons.append(Button(window,text=name, font=("Courrier",15) ,command = lambda :son(musics.index(i)) ,width=50,height=1,anchor="w",border=0))
@ThailaneBerier-Perus Bonjour, merci de créer votre propre sujet et de ne pas déterrer d'ancien sujet pour une nouvelle question.
Je ferme ce déterrage.
Le message qui suit est une réponse automatique activée par un membre de l'équipe de modération. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention. Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé. Pour plus d'informations, nous vous invitons à lire les règles générales du forum
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Le problème c'est que i change comme il est dans la boucle et