Foro de elhacker.net

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:
Código:
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
Código:
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
  1. def main():
  2. ...
  3.    a=num1+num2
  4.        return a
  5.    b=num1-num2
  6. return b
  7.    c=num1*num2
  8. return c
  9.    d=num1/num2
  10. return d
  11. ...
  12.  

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
  1. >>> def x(a,b):
  2. s = a + b
  3. return s
  4. t = a - b
  5. return t
  6.  
  7. >>> x(1,2)
  8. 3 #a + b
  9.  

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;)