[ Foro de Python ]

Hola, soy nuevo por acá, estoy atascado: suma incorrecta

27-Jan-2011 00:29
emanuel f
4 Respuestas

En toma de contacto, hago el siguiente ejercicio en python:


print ("Dime un numero")
primerNumero = input()
print ("Dime otro numero")
segundoNumero = input()
print ("Su suma es ")
print (primerNumero + segundoNumero)


Pero no me salen bien las sumas, o sea en vez de que 2+2 sea igual a 4, me da 22.

Saludos.

EDIT
-----------

Perdón, me apuré a postear, pero quizás a alguien más le sirva, el problema era la versión de python, yo estaba usando la 3, pero si alguien sabe porque cambia esto en la nueva versión, y si es configurable, se agradece.


27-Jan-2011 01:36
Nacho Cabanes (+84)

En muchos lenguajes, el operador "+" también se usa para concatenar cadenas, de modo que el resultado de "hola"+"juan" es válido y es "holajuan".

En tu caso, está considerando que "2" y "2" son cadenas, y al unirlas se obtiene 22. Si quieres filtrar ese tipo de problemas, puedes decirle que lo tome como números enteros ("int", abreviatura de "integer"), así:


print ( int(primerNumero) + int(segundoNumero) )


(Si fueran números con cifras decimales, podrías usar "float" en lugar de "int").


27-Jan-2011 18:51
emanuel f

Agradezco mucho tu respuesta, no creí que iba a recibir una respuesta tan pronto. Seguiré leyendo tus artículos, desde ya muchísimas gracias por haber creado este sitio.
Saludos.


22-Mar-2015 10:00
Invitado (PauMesQ)

tambien puedes crear una variable por ejemplo:


print ("Dime un numero")
primerNumero = input()
print ("Dime otro numero")
segundoNumero = input()
suma = primerNumero + segundoNumero
print ("Su suma es ",suma)


 


22-Mar-2015 11:47
Invitado (PauMesQ)

Perdon era:
tambien puedes crear una variable por ejemplo:


print ("Dime un numero") 
primerNumero = input() 
print ("Dime otro numero") 
segundoNumero = input()
primerNumero1 = int (primerNumero) 
segundoNumero1 = int (segundoNumero)
suma = primerNumero1 + segundoNumero1
print ("Su suma es ",suma)


 






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)