Python: Cual es el error del codigo

Iniciado por JCRb, 9 Enero 2012, 18:16 PM

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

JCRb

Hola, estoy aprendiendo Python y estaba probando haber si podia hacer una calculadora sencilla. Bueno al importar al interprete me sale esto:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "Calculador.py", line 3
    num = input("Pon un numero: ")
      ^
IndentationError: expected an indented block


Este es el codigo

def main():

num=input("Pon un numero: ")
num2= input("Pon otro numero: ")
1=num1+num2
return 1
2=num1-num2
return 2
3=num1*num2
return 3
4=num1/num2
return 4
print "elige una operacion:"
print "1. Suma"
print "2. Resta"
print "3. Multiplicacion"
print "4. Division"

main()

Leyer

#1
el mismo interprete de dice cual es el error, no estas indentando las sentencias de la funcion main

def main():
      value=1
      ...........

y los nombres de las variables no pueden iniciar con numeros ni ser numeros solamente

Jirp96

Hola!
Ademas de que corrigieras lo que te dijo Leyer, creo que hay otro error en esta parte de tu codigo.

Código (python) [Seleccionar]

def main():
...
    a=num1+num2
        return a
    b=num1-num2
return b
    c=num1*num2
return c
    d=num1/num2
return d
...


Lo unico que haria eso(cambie el nombre de las variables-a,b,c,d-) es sumar num1 + num2 y regresar el resultado(a), ya que luego de return se "termina" la funcion, por lo que deberias cambiarlo.
Como ves, aqui no se ejecuta el segundo return:
Código (python) [Seleccionar]

>>> def x(a,b):
s = a + b
return s
t = a - b
return t

>>> x(1,2)
3 #a + b


Para que el usuario pueda elegir que operacion realizar deberias(en mi opinion):
->o hacer una funcion para cada operacion y depende de lo que diga el usuario llamas a una u otra.
->o en la funcion que pusiste(luego de corregir errores y eso) incluyes un parametro y ejecutas una operacion u otra basado en el contenido del parametro(mediante if's)
Espero te sirva
Saludos!

JCRb