Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Yidu en 18 Febrero 2013, 21:55 pm



Título: [Python 2.7.3] No me convierte string a numero entero
Publicado por: Yidu en 18 Febrero 2013, 21:55 pm
Hola!

Primero de todo, seguro que es culpa mía. Y antes de preguntar he mirado vídeos y otros manuales que pululan por mi mesa. Pero no le veo solución.

Pido una entrada de un número (por raw_input). Esta se recoge en una variable. Testeo mediante el type que el numero introducido es string. Luego convierto esa variable (que es un numero) a entero. Mediante int. Pero se lo pasa por el forro.

Este es el script. Siempre me acaba concatenando los números y no los suma. Es decir si pongo 6, me da resultado 66. No 12 ¡¡¡No entiendo nada!!!

Código:
variable = raw_input ('Dime un numero: ')

print type (variable)

print variable

int(variable)

print type (variable)

print variable + variable

Ah, lo del int(raw_input ('...'), ya lo sé. Pero quería hacer esta conversión en tiempo de ejecución.


Título: Re: [Python 2.7.3] No me convierte string a numero entero
Publicado por: Novlucker en 18 Febrero 2013, 22:13 pm
La variable no se convierte, lo que conviertes es el valor de la variable, así que si no lo asignas a una nueva variable no hace nada  :silbar:
Código
  1. nueva = int(variable)

Saludos


Título: Re: [Python 2.7.3] No me convierte string a numero entero
Publicado por: Yidu en 19 Febrero 2013, 19:43 pm
La variable no se convierte, lo que conviertes es el valor de la variable, así que si no lo asignas a una nueva variable no hace nada  :silbar:
Código
  1. nueva = int(variable)

Saludos

Ok. Lo que entiendo es por que el editor que lleva incorporado Python si lo permite. No me refiero a crear un script. Si no, en el Python Shell.

Mira:

Código:
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> a = '5'
>>> a
'5'
>>> int (a)
5
>>>


Título: Re: [Python 2.7.3] No me convierte string a numero entero
Publicado por: Novlucker en 19 Febrero 2013, 20:05 pm
El editor te da una preview de lo que estas ejecutando, si ahí mismo usas el type, verás que a sigue siendo string

Saludos


Título: Re: [Python 2.7.3] No me convierte string a numero entero
Publicado por: Yidu en 19 Febrero 2013, 20:25 pm
¡Coño! Tienes mas razón que un santo. Lo he probado y es así. Al mostrar el resultado sin comillas, pensaba que lo había convertido y no es así. De hecho, el Python Shell solo lo utilizo para pruebas rápidas.

Jo, no me queda nada que aprender...

Gracias y un saludo, eh...