Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Linton en 15 Febrero 2013, 17:02 pm



Título: [PYTHON] Fallo continuo con raw_input
Publicado por: Linton en 15 Febrero 2013, 17:02 pm
Haga lo que haga me da fallo: "NameError: name 'raw_input' is not defined".

¿Este ejemplo es correcto?

Código
  1. name = raw_input("Pon tu nombre: ")
  2. print ("Hola, " + name)

Gracias, un saludo.



Vaya, he probado a quitar lo de raw_ y funciona  :huh: Sólo con input.



[MOD] NO HAGAS DOBLE POST, USA EL BOTÓN "MODIFICAR".
Y porfavor usa títulos algo más descriptivos, por ejemplo especificando el lenguaje, ten en cuenta que aquí no se habla sólo de Python.


Título: Re: Fallo continuo con raw_input
Publicado por: Eleкtro en 15 Febrero 2013, 17:34 pm

Estás usando python 3.X, usa la documentación/tutorial correcta.
 
  • What’s New In Python 3.0 (http://docs.python.org/3.0/whatsnew/3.0.html)

    Citar
    raw_input() was renamed to input(). That is, the new input() function reads a line from sys.stdin and returns it with the trailing newline stripped. It raises EOFError if the input is terminated prematurely. To get the old behavior of input(), use eval(input()).

    Saludos


Título: Re: [PYTHON] Fallo continuo con raw_input
Publicado por: Linton en 15 Febrero 2013, 18:29 pm
Es que soy nuevo y sólo conozco la última versión  :)

Muchas gracias, un saludo.


Título: Re: [PYTHON] Fallo continuo con raw_input
Publicado por: 177600531 en 15 Febrero 2013, 23:19 pm
Por lo que tengo entendido no hay gran diferencia de sintaxis entre python 2.x y python 3.x la única diferencia que se por ahora yo también soy (nuevo) es que print en python 3 pasa a ser una función osea que ya no se hace: print “hola mundo” si no: print(“hola mundo”), con la función input() obtenemos una cadena de texto tecleada por el usuario que equivale a raw_input() en python 2.x. Ejemplo: name = input(“Como te llamas: “), y que ya no existen funciones para obtener datos numéricos a través del teclado la única solución es obtener un numero como una cadena de texto y después convertirla en un numero entero con la función int(): numero=int(input(“introduce un numero”)).

De todas formas te recomiendo pasarte a la última versión de la 2.x que es la 2.7.3, tiene más documentación y te será más útil porque también hay varios modulos y funciones que no son compatibles en python 3.x.


Título: Re: [PYTHON] Fallo continuo con raw_input
Publicado por: Linton en 16 Febrero 2013, 07:59 am
...y que ya no existen funciones para obtener datos numéricos a través del teclado...
Aaaah ya me extrañaba a mí, los manuales que tengo se hicieron para el Python 2 y dan por sentada esa función, de ahí mi extrañeza.

Probaré con esas versión entonces, muchas gracias, un saludo.