Erreur tkinter

Fermé
Noob - 12 nov. 2018 à 19:25
Jithel Messages postés 843 Date d'inscription mercredi 20 juin 2018 Statut Membre Dernière intervention 31 août 2021 - 13 nov. 2018 à 12:09
Bonjour,

Je souhaite faire un programme permettant de vérifier la sécurité d'un mot de passe avec tkinter. La version purement programmation marche parfaitement mais quand je passe sous tkinter il semble y avoir une confusion de méthodes que je n'arrive pas à corriger.
Voici le message d'erreur:
">>> abc6
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\User1\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1702, in __call__
return self.func(*args)
File "C:\Users\User1\Documents\terminale\isn\mini projet\MDP graph.py", line 28, in Ver
for letter in a:
File "C:\Users\User1\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1486, in cget
return self.tk.call(self._w, 'cget', '-' + key)
TypeError: can only concatenate str (not "int") to str"


Et la partie qui semble poser problème (mdp est le texte entré par l'utilisateur)
maj=False
a=['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
for char in mdp:
for letter in a:
if char==letter:
maj=True
if maj==False:
majF=Message(text="Votre mot de passe doit contenir au moins une majuscule")
majF.pack()

1 réponse

Jithel Messages postés 843 Date d'inscription mercredi 20 juin 2018 Statut Membre Dernière intervention 31 août 2021 171
13 nov. 2018 à 12:09
C'est une erreur qui est générée quand tu essayes d'ajouter une chaine de caractère avec un chiffre

a = "abc"
b = 3
c = a + b # génère l'erreur que tu as


Pour résoudre ce problème :

a = "abc"
b = 3
c = a + str(b) # pas d'erreur b est converti en string avant


Je ne vois pas d'erreur dans le code que tu as (mal) inséré. Ajoute plus de code si possible et insère le dans les balises python dans l'éditeur de message (icone <> et choisi python)
0