Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: JCRb en 9 Enero 2012, 18:16 PM

Título: Python: Cual es el error del codigo
Publicado por: JCRb en 9 Enero 2012, 18:16 PM
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()
Título: Re: Python: Cual es el error del codigo
Publicado por: Leyer en 9 Enero 2012, 19:26 PM
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
Título: Re: Python: Cual es el error del codigo
Publicado por: Jirp96 en 9 Enero 2012, 21:00 PM
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!
Título: Re: Python: Cual es el error del codigo
Publicado por: JCRb en 9 Enero 2012, 21:35 PM
Gracias a los dos;)