llamar a una función dentro de la misma función si bien se puede hacer, se conoce como llamada recursiva, no es muy conveniente, sobre todo cuando estás comenzando, es mejor y más fácil usar un ciclo while.
Te muestro una forma con tu ejemplo:
Está buena la opcion de usar el while en el menú, pero el problema es que tengo que usar parámetros, ya que me lo piden( en el ejercicio) y ahi es donde no entiendo, se que tengo que usar return pero no sé especificamente como aplicarlo Te muestro una forma con tu ejemplo:
Código
#-*- coding:utf -8 -*- def Restaurant(): op=0 while op!= 5: print("----------Carta----------------") print("1.-Platos.") print("2.-Bebestibles") print("3.-Postres") print("4.-Total a pagar") print("5.-Salir") print("----------Carta-----------------") op=int(input("Ingrese una opcion:")) if (op==1): acumplatos=0 print("----------Platos------------") print("1.-Salmon a la plancha-----$4.100") print("2.-Chorillana(4 personas)--$5.500") print("3.-Lomo a lo pobre---------$4.800") print("4.-Paila marina------------$4.500") print("5.-Pollo asado-------------$3.800") print("----------Platos------------") opplato=int(input("Ingrese numero de plato deseado:")) if opplato==1: subtotal1=acumplatos+4100 if opplato==2: subtotal2=acumplatos+5500 if opplato==3: subtotal3=acumplatos+4800 if opplato==4: subtotal4=acumplatos+4500 if opplato==5: subtotal5=acumplatos+3800 Restaurant() #Aquí mi duda para volver al menu principal :(