UnboundLocalError pour une variable
J'ai toujours le même problême, lorsque j'affecte la valeur de retour d'une fonction à une variable.
voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| #calcule les carectéristiques d'un entier en fonction de ses autres caractéristiques
def identifieEntier(entier):
testEntier = testEntier(entier)
if testEntier == True:
signe = signe(entier)
parite = parite(entier)
if parite == True and entier != 2:
premier = False #un nombre premier n'est jamais pair à l'exception de 2
carre = carre(entier)
else:
carre=False #un nombre carre est toujours pair
premier=premier(entier)
if premier==True:
mersenne=mersenne(entier)
else:
mersenne=False
parfait=parfait(entier)
if parfait==True:
triangulaire=True #un nombre parfait est forcément tringulaire
else:
triangulaire=triangulaire(entier)
narcissique=narcissique(entier)
kaprekar=kaprekar(entier)
else:
print "Entrez un entier!"
def valider(event): #évènment associé à la touche enter sur la zone de texte
entier = int(entree.get())
identifieEntier(entier) |
Après éxécution j'ai le message d'erreur suivant:
UnboundLocalError: local variable 'testEntier' referenced before assignment
Est ce que quelqu'un pourrait me dire clairement ce que ça veut dire?
Je crois que je n'ai pas tout saisi au niveau des variables en python...
On peut quand même affecter la valeur de retour d'une fonction dans une variable?
merci
bool object is not callable
J'ai modifié mon code comme suit
varTestEntier = testEntier(entier) #la fonction testEntier(entier) retourne un booléen
if varTestEntier == True:
....
mais j'ai maintenant le message d'erreur suivant:
TypeError: 'bool' object is not callable
Pourquoi ne peut-on pas appeller un objet de type booléen?
merci