-3
votes

Si la déclaration ne fonctionne pas, Python

 if number == 1:  
    print("One")  
    print("To exit type 'exit'.")

 exit = raw_input()    
    if exit == "exit":       
    print("Welcome back.")    
I am getting error on the if exit == "exit": line...

4 commentaires

Et l'erreur est? Probablement quelque chose à propos de l'indentation par l'apparence de celui-ci


Utilisez-vous Python 2 ou Python 3? Les fonctions impression ressemblent à 3, mais le Raw_Input ressemble à 2.


@ Daniel-Radosa S'il vous plaît Modifier et inclure le texte intégral de l'erreur et inclure la version Python que vous utilisez.


Lorsque vous demandez à propos du code qui produit une exception, vous devez toujours inclure la traçabilité complète dans la question. Copiez la trace de la trace et la colle dans la question, puis le format comme code (sélectionnez-le et tapez ctrl-k)


3 Réponses :


-1
votes

Vous ne devriez pas indenter le si sortie code>. Vous devez également indenter votre Imprimer ("Bienvenue Back.") Code> Déclaration, comme:

if number == 1:
    print("One")  
    print("To exit type 'exit'.")

exit = input()    
if exit == "exit":       
    print("Welcome back.") 


0 commentaires

-1
votes

Avez-vous essayé comme ceci:

def raw_input():
    return "exit"
number = 1
if number == 1:  
    print("One")  
    print("To exit type 'exit'.")
exit = raw_input()    
if exit == "exit":       
    print("Welcome back.")  


2 commentaires

Pourquoi avez-vous besoin de déclarer Raw_Input ici? Il sera shadow le Raw_Input () de sorte que la prochaine fois que vous souhaitez obtenir l'entrée de l'entrée standard, vous obtiendrez toujours "EXIT" car il est maintenant ombragé


Juste fixer l'indentation pour lui. Besoin de demander à l'auteur de la question.



0
votes

pour python 2.x: xxx

SyntaxError soulevé par votre code était dû au composé si l'instruction IF.

Il semble Vous avez commencé un bloc qui doit être en retrait à l'intérieur de la si, mais il reste au tiret actuel. Normalement, la fin d'une instruction IF n'a pas besoin d'une indication de fin, comme } mais il ne panne pas lorsqu'aucun code ne pénètre

si Vous avez voulu qu'il reste comme ça, ajoutez une instruction indenter Pass pour empêcher l'erreur de sauter. Cela ressemblerait à ceci: xxx


1 commentaires

L'erreur devrait être syntaxError . Si ce n'est pas le cas, cela pourrait être soit NameError s'il est dans l'espace de noms global ou Unboundlocaleurror s'il s'agit d'une fonction / une méthode, bien que soit assez peu probable être le cas . Il pourrait également être soit indentaserrorror ou taberror , mais il augmenterait généralement syntaxError .