2017-10-13 5 views
2

J'utilise SublimeText 3. J'ai installé SublimeREPL pour exécuter mon fichier Python actuel afin que je puisse voir des retours sur les entrées sur des exercices d'entraînement simples. Voici mon code ridiculement simple:Débutant: Nom erreur sur Sublime 3

name = input("What is your name: ") 
print name 

Je suis allé à le tester et je reçois l'erreur suivante:

What is your name: Justin 
    Traceback (most recent call last): 
    File "Practice Exercise 1.py", line 2, in <module> 
     name = input("What is your name: ") 
     File "<string>", line 1, in <module> 
    NameError: name 'Justin' is not defined 

***Repl Closed*** 

On dirait que il veut penser « Justin » en fonction ou quelque chose. Si vous pouviez m'aider, ce serait génial.

+2

peut-être vous exécutez python 2? essayez de changer 'input' en' raw_input' – davedwards

Répondre

2

Vous avez besoin de vos commentaires pour être entre guillemets ... à savoir Quel est votre nom: « Justin »

Voir ici comme exemple https://www.python-course.eu/input.php

+0

Cela a résolu pour moi. Je l'apprécie beaucoup. J'ai pensé (après publication) que je pourrais écrire pour que l'entrée soit une chaîne et que cela la renvoie comme une chaîne; mais, citations. Est-ce que les guillemets retournent seulement l'entrée comme une chaîne au lieu de vouloir lire Justin en tant que fonction? – JustinShotMe

+0

Oui, je veux dire en le mettant de la console pour taper "Justin" entre guillemets. Le lien que j'ai posté montre l'erreur exacte qu'il a ci-dessus "Si vous ne mettez pas votre nom entre guillemets, Python prend votre nom comme une variable" ... – mack

+0

Techniquement, vous devriez simplement utiliser raw_input ... – Steampunkery

0

Si vous utilisez python 3, print est une fonction qui doit être appelée à l'aide de parenthèses.

print(name) 
+0

Merci pour cela. J'ai fait ce changement. N'a pas résolu mon problème, mais j'apprécie vraiment l'aide à la bonne étape. – JustinShotMe

0

Semble que vous utilisez python 2. Vous devriez probablement utiliser python 3 sauf si vous avez une raison (par exemple: rétrocompatibilité). En python 2, l'entrée input() interprète de sorte que vous voulez probablement utiliser raw_input() comme ceci:

name = raw_input("What is your name: ") 
print name