Problema en Python

Iniciado por WaAYa HaCK, 19 Mayo 2011, 09:19 AM

0 Miembros y 1 Visitante están viendo este tema.

WaAYa HaCK

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
La cacatúa yoyó es nueva en el zoo!

criskapunk

#1
Podes usar la funcion int() para convertir el valor a un entero.

Código (python) [Seleccionar]
unum = int(raw_input("> "))

Código (python) [Seleccionar]
dnum = int(raw_input("> "))

Mira la documentacion de Python:

http://docs.python.org/library/functions.html

Un saludo!

WaAYa HaCK

Ok, funciona perfectamente! ¡Muchas gracias!  ;-)
La cacatúa yoyó es nueva en el zoo!

LeXeL

Tambien puedes usar input(">")

Ya que:
input(">")  -> Integrer
raw_input(">") -> String

criskapunk

Segun entiendo, input() no es unicamente para enteros, sino que analiza la expresion que se le pasa como argumento, y devuelve el tipo correspondiente.

Código (python) [Seleccionar]
print type(input(">"))
>2
<type 'int'>


Código (python) [Seleccionar]
print type(input(">"))
>"Hola"
<type 'str'>


Código (python) [Seleccionar]
print type(input(">"))
>True
<type 'bool'>


Un saludo!

Novlucker

Depende, el input de Python 3.x o el de versiones anteriores? :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

criskapunk

Yo uso la version 2.7.

Un saludo!