Hola a tod@s!
Estoy aprendiendo Python y estaba creando una calculadora básica:
print "CALCULADORA BASICA EN PYTHON"
print "Escriu el primer numero: "
unum = raw_input("> ")
print "-------------------------------------------------------"
print "Escriu el segon numero: "
dnum = raw_input("> ")
def suma(x, y):
return x + y
print "I la suma es... "
print suma(unum, dnum)
print "Gracies per usar la Calculadora!"
raw_input()
El problema es que, al escribir:
type(unum)
devuelve type('str').
Y si pongo 2 como primer número y 3 como segundo, me da 23 de resultado.
Cómo puedo hacer que me trate las variables como enteros y no como cadenas?
He probado en ponerlos como decimal, pero no funciona.
Gracias!
Waaya
Podes usar la funcion int() para convertir el valor a un entero.
unum = int(raw_input("> "))
dnum = int(raw_input("> "))
Mira la documentacion de Python:
http://docs.python.org/library/functions.html
Un saludo!
Ok, funciona perfectamente! ¡Muchas gracias! ;-)
Tambien puedes usar input(">")
Ya que:
input(">") -> Integrer
raw_input(">") -> String
Segun entiendo, input() no es unicamente para enteros, sino que analiza la expresion que se le pasa como argumento, y devuelve el tipo correspondiente.
print type(input(">"))
>2
<type 'int'>
print type(input(">"))
>"Hola"
<type 'str'>
print type(input(">"))
>True
<type 'bool'>
Un saludo!
Depende, el input de Python 3.x o el de versiones anteriores? :P
Saludos
Yo uso la version 2.7.
Un saludo!