2015-03-26 2 views
0

Я сделал этот маленький калькулятор, чтобы рассказать людям о своих калориях и индексе веса тела и других вещах, но когда я хочу использовать функцию regresarMenu(), он не принимает меня обратно в меню, он показывает мне ошибку, которая говорит «ул» не отозваны, и я не знаю, как выяснить способ цикла его обратно в менюЯ не могу заставить свою программу вернуться в свое меню

import time 
import sys 

print("") 
print("Bienvenido a la calculadora saludable") 
print("Debe llenar la siguiente informacion para proceder ") 
print("") 
peso = int(raw_input("ingrese su peso en kilogramos: ")) 
estatura = float(raw_input("ingrese su estatura en metros: ")) 
nombre = raw_input("ingrese su nombre: ") 
edad = int(raw_input("ingrese su edad: ")) 
sexo = raw_input("ingrese masculino si es hombre y femenino si es mujer: ") 


def imc(): 

    imc = peso/(estatura*estatura) 
    print("Calculando el indice de masa corporal, espere unos segundos") 
    time.sleep(3) 
    print("") 
    print (("Saludos "+ nombre +" su indice de masa corporal es de")+str(imc)) 
    print("") 

    if(imc<18): 
     print(nombre+" su peso es bajo, necesario valorar signos de  desnutricion") 

    elif(18<imc<24.9): 
     print(nombre+" se encuentra en un nivel de peso normal") 

    elif(25<imc<26.9): 
     print(nombre+" se encuentra con sobrepeso") 

    elif(27<imc<29.9): 
     print(nombre+ " esta en el rango de obesidad grado I") 
     print("El reisgo para desarollar enfermedades cardiovasculares es relativamente alto") 

    elif(30<imc<39.9): 
     print(nombre+ " esta en el rango de obesidad grado II") 
     print("El reisgo para desarollar enfermedades cardiovasculares es muy alto") 

    else: 
     print(nombre+ " esta en el rango de obesidad grado III, extrema o morbida") 
     print("El reisgo para desarollar enfermedades") 
     print("cardiovasculares es extremadamente alto") 

    print("") 
    regresarMenu() 


def peso_ideal(): 
    altura = estatura*100 
    pesoIdeal = 0.75*(altura-150)+50 
    rango1 = float(pesoIdeal-7) 
    rango2 = float(pesoIdeal+7) 
    print("") 
    print (nombre+ " su peso ideal deberia de estar entre "+str(rango1)+" y "+str(rango2)+"kg") 
    print("") 
    regresarMenu() 

def calorias(): 
    altura = estatura*100 
    if(sexo == "masculino"): 
     TMB = float(10*peso)+(6.25*altura)-(5*edad)-161 
     print("") 
     print("Las calorias que utiliza durante el dia son: "+ str(TMB)) 
    if(sexo == "femenino"): 
     TMB = float(10*peso)+(6.25*altura)-(5*edad)+5 
     print("") 
     print("Las calorias que utiliza durante el dia son: "+str(TMB)) 
    print("") 
    print (nombre+ " su peso ideal deberia de estar entre "+str(rango1)+" y "+str(rango2)+"kg") 
    print("") 
    regresarMenu() 



def menu(): 
    print("") 
    print("*********************************************************") 
    print("* ******** ********* *   ******** *  * *") 
    print("* *   *  * *   *   *  * *") 
    print("* *   *  * *  *   *  * *") 
    print("* *   *  * *  *   *  * *") 
    print("* *   *  * *  *   *  * *") 
    print("* *   ********* *  *   *  * *") 
    print("* *   *  * *  *   *  * *") 
    print("* *   *  * *  *   *  * *") 
    print("* *   *  * *   *   *  * *") 
    print("* ******** *  * ******** ******** ******** *") 
    print("*********************************************************") 
    print("") 
    print("") 
      print("******************************************************************") 
    print("* 1) Si desea calcular su IMC presione 1       *") 
    print("* 2) Si desea encontrar su peso ideal presione 2     *") 
    print("* 3) Si desea ver la cantidad de calorias que utiliza presione 3 *") 
    print("*                *") 
    print("******************************************************************") 
    respuesta = raw_input("") 

    if(respuesta == "1"): 
     imc() 
    if(respuesta == "2"): 
     peso_ideal()  
    if(respuesta == "3"): 
     calorias() 

def regresarMenu(): 
    menu = raw_input("Desea regresar al menu? ingrese si/no ") 
    if(menu == "si"): 
     print("") 
     print("regresando al menu, espere un momento") 
     time.sleep(3) 
     menu() 
    if(menu == "no"): 
     System.exit() 

if __name__ == "__main__": 
    menu() 

ответ

0

что происходит, что вы используете переменное именованное меню и функцию с именем меню, а также функцию «regresarMenu». Вы должны переименовать один из них; например:

def regresarMenu(): 
    menu_option = raw_input("Desea regresar al menu? ingrese si/no ") 
    if(menu_option == "si"): 
     print("") 
     print("regresando al menu, espere un momento") 
     time.sleep(3) 
     menu() 
    if(menu_option == "no"): 
     System.exit() 
+0

как я мог этого не видеть ?! Большое спасибо @dgsleeps – ProgrammingNewbie

Смежные вопросы