Empezamos dando la bienvenida al programa a través de un “print”.
print('BIENVENIDO')
Usaremos la iteración “while True:” para identificar al usuario. En este caso solo serán dos opciones, pueden ser más según sea el requerimiento, pero para fines prácticos solo se colocará 'admin’ y ‘user’.
El por qué del uso del comando while, es para que, en caso el usuario no ingrese correctamente alguno de esas dos opciones, el programa vuelva a consultar hasta obtener una respuesta válida. Luego de ello, devolveremos un texto de bienvenida al usuario ingresado, con un texto en mayúsculas.
while True:
role = input('¿Cómo que usuario desea ingresar? : ')
if role == 'admin'or role == 'user':
breakelse:
print('El rol ingresado no es válido, por favor intente de nuevo')
print('BIENVENIDO ',role.upper())
Utilizaremos un diccionario para poder catalogar la carta que estamos por crear. Este debe de ir al inicio para que podamos utilizarlo sin tener que volver a ingresarlos en cada iteración que tengamos.
my_recipe = {
'Café':['Americano','Cappuccino','Latte','Irlandés'],
'Jugo':['Mora','Lúcuma','Fresa'],
'Agua':['Mineral','Gasificada'],
'Postres':['Pie de manzana','Pie de limón','Torta de chocolate','Tres leches']
}
Usaremos ‘if’ para condicionar según sea el tipo de usuario que hayamos ingresado.
En caso elijamos ingresar como administrador o ‘admin’. Este tiene que tener la opción de poder visualizar y editar la carta según sea su conveniencia.
Al administrador le daremos la chance de poder seleccionar una de las cuatro siguientes opciones disponibles.
if role == 'admin':
print('¿Qué desea hacer?')
print('1. Ver carta')
print('2. Agregar un nueva carta')
print('3. Eliminar carta')
print('4. Salir')
Utilizaremos la iteración ‘while True’ para condicionar a que el usuario elija cualquiera de esas cuatro opciones, y, en caso elija una diferente, el programa solicite se ingresar nuevamente hasta dar con alguna de las cuatro opciones.
Para el primer caso (Opción 1) usaremos la iteración_ ‘for’_ a fin de poder visualizar el diccionario ingresado al inicio, ya que la Opción 1 es solamente ver la carta.
while True:
option = int(input('Ingrese el número dela opciónque desea realizar: '))
if option == 1:
for key,value in my_recipe.items():
print(key, ': ',value)
break
Para el segundo caso (Opción 2), tenemos que crear una nueva carta. Es por ello, que iniciaremos creando un diccionario vacío a fin de que poco a poco vayamos llenándolo según sea nuestro requerimiento y/o criterio. Para este caso, primero vamos a crear el título de la carta a través de un input, seguido de los valores que deseemos se coloquen dentro del mismo, esto, basándonos en los identificadores ‘key’ y ‘value’ enseñados durante la clase. Finalmente, actualizaremos nuestro diccionario inicial: my_recipe, con el nuevo creado: new_recipe usando el método .update(). De esta manera lograremos imprimir la receta actualizada.
elif option == 2:
new_recipe = {}
print('¿Qué carta desea agregar?')
Receta1 = input('Ingrese el título dela carta: ')
Items1 = input('Ingrese el primer item dela carta: ')
Items2 = input('Ingrese el segundo item dela carta: ')
Items3 = input('Ingrese el tercer item dela carta: ')
new_recipe[Receta1] = [Items1, Items2, Items3]
print('Carta añadida :',new_recipe)
print('La nueva receta será: ')
my_recipe.update(new_recipe)
for key,value in my_recipe.items():
print(key, ': ',value)
break
Para el tercer caso (Opción 3), simplemente utilizaremos la declaración ‘del’ para eliminar el elemento dentro del diccionario que deseemos eliminar. Finalizando con la impresión de la carta actualizada tras la eliminación del elemento.
if option == 3:
print('¿Qué carta desea eliminar?')
del_recipe = input('Ingrese el título de la carta: ')
if del_recipe in my_recipe:
del my_recipe[del_recipe]
print('La carta ha sido eliminada')
print('La nueva receta será: ')
for key,value in my_recipe.items():
print(key, ': ',value)
break
Para el cuarto caso (Opción 4), simplemente nos pide salir del programa. Para ello, tenemos que imprimir un agradecimiento al usuario ingresado, nuevamente con el texto en mayúsculas.
elif option == 4:
print('GRACIAS',role.upper(), 'VUELVA PRONTO')
break
Ahora, en caso hayamos elegido ingresar como usuario o ‘user’, solo tendremos dos opciones, los mismos que son solo de lectura o visualización. Para ello, en la primera opción colocaremos exactamente el mismo código para cuando usamos la Opción 1 al elegir el usuario ‘admin’. Asimismo, ocurre para la Opción 2, la misma que era anteriormente la Opción 4.
if role == 'user':
print('¿Qué desea hacer?')
print('1. Ver carta')
print('2. Salir')
while True:
option = int(input('Ingrese el número de la opción que desea realizar: '))
if option == 1:
forkey,value in my_recipe.items():
print(key, ': ',value)
break
elif option == 2:
print('GRACIAS',role.upper(), 'VUELVA PRONTO')
break
Ahora les brindaré el código completo. Recuerden que pueden colocar las opciones que ustedes deseen, así como interactuar más con el usuario final.
Espero que haya sido de su agrado, he tratado de incluir todo lo aprendido durante el curso resumiendo ciertos puntos importantes. Quedo atento ante cualquier comentario.
print('BIENVENIDO')
whileTrue:
role = input('¿Cómo que usuario desea ingresar? : ')
if role == 'admin'or role == 'user':
breakelse:
print('El rol ingresado no es válido, por favor intente de nuevo')
print('BIENVENIDO ',role.upper())
my_recipe = {
'Café':['Americano','Cappuccino','Latte','Irlandés'],
'Jugo':['Mora','Lúcuma','Fresa'],
'Agua':['Mineral','Gasificada'],
'Postres':['Pie de manzana','Pie de limón','Torta de chocolate','Tres leches']
}
if role == 'admin':
print('¿Qué desea hacer?')
print('1. Ver carta')
print('2. Agregar un nueva carta')
print('3. Eliminar carta')
print('4. Salir')
whileTrue:
option = int(input('Ingrese el número de la opción que desea realizar: '))
if option == 1:
for key,value in my_recipe.items():
print(key, ': ',value)
breakelif option == 2:
new_recipe = {}
print('¿Qué carta desea agregar?')
Receta1 = input('Ingrese el título de la carta: ')
Items1 = input('Ingrese el primer item de la carta: ')
Items2 = input('Ingrese el segundo item de la carta: ')
Items3 = input('Ingrese el tercer item de la carta: ')
new_recipe[Receta1] = [Items1, Items2, Items3]
print('Carta añadida :',new_recipe)
print('La nueva receta será: ')
my_recipe.update(new_recipe)
for key,value in my_recipe.items():
print(key, ': ',value)
breakif option == 3:
print('¿Qué carta desea eliminar?')
del_recipe = input('Ingrese el título de la carta: ')
if del_recipe in my_recipe:
del my_recipe[del_recipe]
print('La carta ha sido eliminada')
print('La nueva receta será: ')
for key,value in my_recipe.items():
print(key, ': ',value)
breakelif option == 4:
print('GRACIAS',role.upper(), 'VUELVA PRONTO')
breakif role == 'user':
print('¿Qué desea hacer?')
print('1. Ver carta')
print('2. Salir')
whileTrue:
option = int(input('Ingrese el número de la opción que desea realizar: '))
if option == 1:
for key,value in my_recipe.items():
print(key, ': ',value)
breakelif option == 2:
print('GRACIAS',role.upper(), 'VUELVA PRONTO')
break