cadena de entrada en python 3

Tengo prueba de variable de cadena, En Python 2.7 esto funciona bien.

test = raw_input("enter the test") print test 

Pero en Python 3.3. yo suelo

 test = input("enter the test") print test 

con la cadena de entrada sdas , y sdas un mensaje de error

Rastreo (llamadas recientes más última):

Archivo “/home/ananiev/PycharmProjects/PigLatin/main.py”,

línea 5, en prueba = entrada (“ingrese la prueba”)

Archivo “”, línea 1, en NameError: el nombre ‘sdas’ no está definido

Está ejecutando su código de Python 3 con un intérprete de Python 2. Si no lo estuviera, su statement de print lanzaría un SyntaxError antes de que le SyntaxError una entrada.

El resultado es que estás usando la input Python 2, que intenta eval tu entrada (probablemente sdas ), encuentra que es Python no válido y muere.

Yo diría que el código que necesitas es:

 test = input("enter the test") print(test) 

De lo contrario, no debería ejecutarse en absoluto, debido a un error de syntax. Sin embargo, la función de print requiere paréntesis en Python 3. No puedo reproducir tu error. ¿Estás seguro de que esas líneas están causando ese error?

sdas se está leyendo como una variable. Para ingresar una cadena necesitas “”

Tengo el mismo error. En el terminal cuando escribí “python filename.py”, con este comando, python2 fue ejecutado para ejecutar el código de python3, porque está escrito en python3. Se ejecuta correctamente cuando escribo “python3 filename.py” en el terminal. Espero que esto funcione para ti también.

En sistemas operativos como Ubuntu Python viene preinstalado. Por lo tanto, la versión predeterminada es Python 2.7. Puede confirmar la versión escribiendo el siguiente comando en su terminal.

 python -V 

Si lo instaló pero no estableció la versión predeterminada, verá

 python 2.7 

en la terminal Te diré cómo configurar la versión predeterminada de python en Ubuntu.

Una forma segura simple sería usar un alias. Coloque esto en el archivo ~ / .bashrc o ~ / .bash_aliases :

 alias python=python3 

Después de agregar lo anterior en el archivo, ejecute el siguiente comando:

source ~/.bash_aliases o source ~/.bashrc

Ahora verifica la versión de Python de nuevo usando python -V

Si Python versión 3.xx una, entonces el error está en su syntax, como usar la impresión entre paréntesis. cambiarlo a

 test = input("enter the test") print(test) 

Bueno, la pregunta es muy simple, no sé por qué la gente responde tan mal.

Solución:

Si usa 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 usas 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") 
 temperature = input("What's the current temperature in your city? (please use the format ??C or ???F) >>> ") ### warning... the result from input will  on Python 3.x only ### in the case of Python 2.x, the result from input is the variable type  ### for the  type as the result for Python 2.x it's neccessary to use the another: raw_input() temp_int = int(temperature[:-1]) # 25  (as example) temp_str = temperature[-1:] # "C"  (as example) if temp_str.lower() == 'c': print("Your temperature in Fahrenheit is: {}".format( (9/5 * temp_int) + 32 ) ) elif temp_str.lower() == 'f': print("Your temperature in Celsius is: {}".format( ((5/9) * (temp_int - 32)) ) )