Pourquoi uniquement l'entrée de travail, si j'entre un nombre?

J'ai réussi à faire un python mot de passe système, mais le mot de passe ne peut être hors de chiffres, pas de lettres. Voici le codage derrière elle:

    password = str(input("Please enter password to continue: "))
    if password == 'dog':
        print ("Welcome")
    else:
        print ("WRONG PASSWORD")

Cela ne fonctionne pas, tout en ayant le mot de passe d'un nombre entier fonctionne.

Edit: Désolé de mettre le mauvais code, nouveau sur ce site.
J'ai maintenant ajouté des guillemets à "chien", mais il donne maintenant cette erreur dans le terminal

Please enter password to continue: dog
Traceback (most recent call last):
  File "pass.py", line 1, in <module>
    password = str(input("Please enter password to continue: "))
  File "<string>", line 1, in <module>
NameError: name 'dog' is not defined

Final edit: résolu en changeant str(input à la str(raw_input. C'était parce que j'étais à l'aide de terminal qui utilise python 2. Personne ne sait comment faire de terminal python 3 au lieu de 2?

  • vous êtes à la recherche pour password == '123' ?
  • S'il vous plaît montrer le code qui ne, pas le code qui fonctionne.
  • si le mot de passe == "chien"
  • Python pense que dog est un nom de variable, vous avez besoin de le citer, par exemple: if password == "dog":
  • De l'intérêt pourrait être de la bibliothèque standard du module de getpass. Remplacez l'appel à input() avec getpass.getpass(). Aussi, si vous voulez vérifier qu'une chaîne de caractères est des chiffres, essayez password.isdigit().
InformationsquelleAutor toscanOs | 2016-10-27