NameError: name 'on' n'est pas défini python 3.4 erreur
a=str(input("Enter num To Start FunctionOne"))
if(a == '1'):
one()
elif (a == '2'):
tow()
def one():
print('Good')
def tow():
print('Very Good')
Erreur
Enter numper To Start FunctionOne1
Traceback (most recent call last):
File "C:/Users/Hacker/Desktop/complex program.py", line 3, in <module>
one()
NameError: name 'one' is not defined
- Je recommande corrections de fautes de frappe, même si elles sont cohérentes, comme
tow
plutôt quetwo
, parce que finalement vous essayez d'accéder àtwo
et ça va être mauvais. Cela est particulièrement vrai si personne d'autre n'a jamais fait de travailler avec votre code.
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de définir les fonctions avant de les appeler:
Si vous appelez une fonction, mais la fonction est définie ci-dessous, alors il ne fonctionnera pas parce que Python ne sais pas encore ce que cet appel de fonction est censé faire.
Python est un langage interprété, pour que l'interprète se déplace ligne par ligne, que vous tentez d'appeler la fonction -
one()
avant qu'il a été défini, dans les dernières parties du programme. Vous devez déplacer les définitions de fonction avant l'appel de la partie -Ne pas mettre toutes les instructions dans le script d'autres que des définitions de fonction. Puis d'appeler la fonction principale dans une clause à la fin. Cela permet à l'interprète de voir tout ce que définis avant d'essayer de l'appeler:
Python lit le script ligne par ligne, de sorte que lorsqu'il atteint l'un() appel de fonction, il jette l'erreur, car n'est pas encore définie.