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!!!
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.
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:
nueva = int(variable)
Saludos
Cita de: 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:
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:
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
>>>
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
¡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...