Test Foro de elhacker.net SMF 2.1

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 (python) [Seleccionar]
#!/usr/bin/env python

def sexo():
print ('''Calculadora de TMB (Tasa Metabolica Basal)
1> Hombre
2> Mujer
3> Salir''')

def calculo():
sexo()
opc = input ('Selecciona tu sexo')
while (opc>0 and opc<3):
peso = float(input ("Cuantos kg pesas?"))
altura = int(input ("Cuantos cm mides?"))
edad = int(input ("Que edad tienes?"))
if (opc==1):
print "Tu tasa metabolica basal es:"
print (peso * 10) + (altura * float(6.25) - (edad * 5) + 5

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
Cita de: 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.


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 (python) [Seleccionar]
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