J'ai test de variable de chaîne, En Python 2.7 cela fonctionne très bien.
test = raw_input("enter the test")
print test
Mais en Python 3.3. j'utilise
test = input("enter the test")
print test
avec la chaîne de saisie sdas
, et je reçois un message d'erreur
Traceback (appel le plus récent en dernier):
Fichier "/home/ananiev/PycharmProjects/PigLatin/main.py",
ligne 5, in test = input ("entrez le test")
Fichier "", ligne 1, dans NameError: le nom 'sdas' n'est pas défini
Vous exécutez votre code Python 3 avec un interpréteur Python 2. Si ce n’est pas le cas, votre déclaration print
lèvera un SyntaxError
avant qu’elle ne vous invite à entrer.
Le résultat est que vous utilisez input
de Python 2, qui tente de eval
votre entrée (probablement sdas
), trouve que c'est Python non valide et meurt.
Je dirais que le code dont vous avez besoin est:
test = input("enter the test")
print(test)
Sinon, il ne devrait pas fonctionner du tout, à cause d'une erreur de syntaxe. La fonction print
nécessite des crochets en python 3. Cependant, je ne peux pas reproduire votre erreur. Êtes-vous sûr que ce sont ces lignes qui causent cette erreur?
La question est très simple, je ne sais pas pourquoi les gens ont si mal répondu.
Solution:
Si vous utilisez Python 2.x:
then for evaluated input use "input"
example: number = input("enter a number")
and for string use "raw_input"
example: name = raw_input("enter your name")
Si vous utilisez python 3.x:
then for evaluated result use "eval" and "input"
example: number = eval(input("enter a number"))
for string use "input"
example: name = input("enter your name")
sdas est lu comme une variable. Pour saisir une chaîne il vous faut ""
J'ai eu la même erreur. Dans le terminal quand j'ai tapé "python filename.py", avec cette commande, python2 essayait d'exécuter du code python3, car il est écrit python3. Il fonctionne correctement lorsque je tape "python3 nom_fichier.py" dans le terminal. J'espère que cela fonctionne pour vous aussi.
Dans les systèmes d'exploitation comme Ubuntu, python est préinstallé. Donc la version par défaut est python 2.7, vous pouvez confirmer la version en tapant la commande ci-dessous dans votre terminal
python -V
si vous l'avez installé mais que vous n'avez pas défini la version par défaut, vous verrez
python 2.7
dans le terminal. Je vais vous dire comment définir la version par défaut de python dans Ubuntu.
Un moyen simple et sûr serait d'utiliser un alias. Placez ceci dans le fichier ~/.bashrc ou ~/.bash_aliases:
alias python=python3
Après avoir ajouté ce qui précède dans le fichier, exécutez la commande ci-dessous:
source ~/.bash_aliases
ou source ~/.bashrc
maintenant, vérifiez à nouveau la version de Python en utilisant python -V
si python version 3.x.x, l'erreur est dans votre syntaxe, comme utiliser print avec des parenthèses. changez le en
test = input("enter the test")
print(test)