2017-06-10 2 views
0

Je suis actuellement en train d'apprendre les exercices de Python et je voulais écrire mon propre code pour permettre à un utilisateur de choisir différents chemins. Lorsque je cours le code ci-dessous, je ne reçois pas une erreur de nom pour "first_decision". Cependant, je continue d'obtenir une erreur de nom en disant qu'il n'est pas défini pour la variable "second_decision". Je cours Python 2.7.10. Est-ce que quelqu'un sait pourquoi c'est comme ça?NameError: le nom n'est pas défini mais la première instance est correcte

erreur ici:

NameError: name 'second_decision' is not defined 

code ici:

print "This is the root level where we now create 3 branches of decisions. 1, 2, or anything else" 

first_decision = raw_input("> ") 
print "You chose %r" % first_decision 

if first_decision == "1": 
    print "This is the context after player makes the first choice" 
    print "Once here, we can let the player make another decision. 1, 2, or 3" 

    second_decison = raw_input("> ") 
    print "You chose %r" % second_decision 

    if second_decision == "1": 
     print "This is two levels deep" 

    elif second_decision == "2": 
     print "This is two levels deep" 

    else: 
     print "Everything else for the second level" 


elif first_decision == "2": 
    print "This is the second context after player makes the first choice" 
    print "Once here, we can let the player make another decision. 1, 2, or 3" 

    second_decison = raw_input("> ") 
    print "You chose %r" % second_decision 

    if second_decision == "1": 
     print "This is two levels deep" 

    elif second_decision == "2": 
     print "This is two levels deep" 

    else: 
     print "Everything else for the second level" 

else: 
    print "This is for everything else" 
+1

Il est juste une faute de frappe. second_decison! = second_decision. Quand je reçois des erreurs comme ça, je copie la variable et je la recherche dans le programme pour vérifier la correspondance/discordance. – Grimmy

+0

Oh mon dieu. Je suis bête. Merci beaucoup! – redspruce

Répondre

0

Vous avez un faux nom, vous assing à "second_decison" puis utilisez "second_decision" vous avez manqué i.

+0

Merci d'avoir pris le temps d'aider Kacper! – redspruce

0

Vous avez fait une faute de frappe dans la ligne

second_decison = raw_input("> ") 

Cela devrait être

second_decision = raw_input("> ") 
+0

Merci beaucoup Henry! – redspruce