Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Astergoth en 15 Junio 2017, 02:37 am



Título: error de sintaxis en función
Publicado por: Astergoth en 15 Junio 2017, 02:37 am
hola,

estoy intentando como puedo montar un programa que calcule la tasa metabolica basal del usuario,
pero no se por que errore de sintaxis que antes no me salian ahora si y me estan volviendo loco,

os redacto como lo tengo comentado todo actualmente:

Código
  1. #!/usr/bin/env python
  2.  
  3. def sexo():
  4. print ('''Calculadora de TMB (Tasa Metabolica Basal)
  5. 1> Hombre
  6. 2> Mujer
  7. 3> Salir''')
  8.  
  9. def calculo():
  10. sexo()
  11. opc = input ('Selecciona tu sexo')
  12. while (opc>0 and opc<3):
  13. peso = float(input ("Cuantos kg pesas?"))
  14. altura = int(input ("Cuantos cm mides?"))
  15. edad = int(input ("Que edad tienes?"))
  16. if (opc==1):
  17. print "Tu tasa metabolica basal es:"
  18. print (peso * 10) + (altura * float(6.25) - (edad * 5) + 5
  19.  
  20. calculo()

tal como esta ahora, el terminal me marca error de syntaxis donde ejecuto la función definida "calculo()" en la linia 20... no lo entiendo :-[ :-[

alguien me puede ayudar por favor?
gracias por adelantado


Título: Re: error de sintaxis en función
Publicado por: engel lex en 15 Junio 2017, 02:41 am
linea 18 no cierra parentesis


por toro lado en esa cuenta ningún parentesis es necesario (incluyendo ese "float" ahí, si un numero tiene coma es ya de coma flotante)


Título: Re: error de sintaxis en función
Publicado por: tincopasan en 15 Junio 2017, 03:50 am
mirando rápido supongo que usas 3.x
 si es así en la línea 17 tampoco has usado parentesis, por otro lado te va a dar error porque en  opc input esta devolviendo cadena y while compara enteros.
Si es 2x aclaralo para la próxima.


Título: Re: error de sintaxis en función
Publicado por: engel lex en 15 Junio 2017, 03:56 am
mirando rápido supongo que usas 3.x
 si es así en la línea 17 tampoco has usado parentesis, por otro lado te va a dar error porque en  opc input esta devolviendo cadena y while compara enteros.
Si es 2x aclaralo para la próxima.


no, es python 2.x, de ser 3 la cabecera dijera python3


Título: Re: error de sintaxis en función
Publicado por: tincopasan en 15 Junio 2017, 04:27 am
no me gusta hablar de 2.x pero entonces ¿para que usa int  en los input?


Título: Re: error de sintaxis en función
Publicado por: engel lex en 15 Junio 2017, 04:29 am
en linea 18 usa
Código
  1. float(6.25)


XD es lo mismo que los int en los input


Título: Re: error de sintaxis en función
Publicado por: Astergoth en 15 Junio 2017, 12:25 pm
Vale,

Ya he quitado los float y los int, los puse por que en un principio m salio error de sintaxis con el 6.25 y pense que seria mejor especificar los int y los float.
Ya esta solucionado el tema😊😊😊
Engel eres el amo tio

Muchas gracias