#TAREA FINAL - LISTA DE INGREDIENTES PARA UNA RECETA

listaIngredientes = list()
 
def añadirIngrediente():
    print()
    print('Introduce el ingrediente que quieras añadir')
    print()
    nuevoIngrediente = input("Agrega tu nuevo ingrediente: ").capitalize()
    listaIngredientes.append(nuevoIngrediente)
    print(f'Nuevo ingrediente \'{nuevoIngrediente}\' añadido.')
    print()
 

def borrarIngrediente():
    print()
    print('Introduce el ingrediente que quieres eliminar')
    print()
    ingredienteEliminado = input('Ingrediente para eliminar: ').capitalize()
    if ingredienteEliminado in listaIngredientes:
        listaIngredientes.remove(ingredienteEliminado)
        print(f'El ingrediente \'{ingredienteEliminado}\' se ha eliminado de la receta {receta}')
    else:
        print(f'El ingrediente \'{ingredienteEliminado}\' no está en la receta {receta}')
    print()

def verListaIngredientes():
    print()
    print(f"Articulos de la receta {receta}")
    print("------------")
    for ingrediente in listaIngredientes:
        print(ingrediente)
    print("------------")
    print()

def ordenarLista():
    listaIngredientes.sort()
    print(f'La lista de ingredientes de la receta {receta} ha sido ordenada alfabéticamente')
    
def cambiarNombreReceta():
    global receta
    receta=str(input('Introduce el nuevo nombre de la receta: ')).upper()
    print(f'El nuevo nombre de la receta es: {receta}')
 
print('--- LISTA DE INGREDIENTES PARA UNA RECETA ---')
print('Introduce el nombre de la receta.')
receta=str(input()).upper()

while  True:
    try:
        print('--- Opciones ---')
        print('1.- Agregar ingrediente.')
        print('2.- Eliminar ingrediente.')
        print('3.- Ver lista de ingredientes.')
        print('4.- Ordenar lista.')
        print('5.- Cambiar nombre a la receta.')
        print('6.- Salir.')
        print('--- ------------')
        opcion = int(input('Que deseas hacer: '))
    except ValueError:
        print('El valor introducido no es válido. Por favor, introduce una opción válida.')
    else:
        if opcion < 0 or opcion >6:
            print ("No es una opcion válida. Elige una opción.")
            continue	
        if opcion == 1:
            añadirIngrediente()
        elif opcion == 2:
            borrarIngrediente()
        elif opcion == 3:
            verListaIngredientes()
        elif opcion == 4:
            ordenarLista()
        elif opcion == 5:
            cambiarNombreReceta()
        else:
            break

print('**************************************************')
print('-- ¡Buen provecho! ---')
