{"id":7954,"date":"2015-07-15T09:00:07","date_gmt":"2015-07-15T14:00:07","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/ccpg1001\/?p=7954"},"modified":"2026-03-02T12:15:22","modified_gmt":"2026-03-02T17:15:22","slug":"menu-estructura","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-unidades\/fp-u08\/menu-estructura\/","title":{"rendered":"8.1 Men\u00fa - Condicionales \"elif\""},"content":{"rendered":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#menu\">Men\u00fa<\/a><\/p>\n\n\n\n<p><a href=\"#elif\">elif<\/a><\/p>\n\n\n\n<p><a href=\"#estructura\">Estructura<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplos\">Ejemplos<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"menu\">1. Men\u00fa en Python<\/h2>\n\n\n\n<p>\u00bfC\u00f3mo hacer un men\u00fa en Python? como una estructura simplificada y semejante a un men\u00fa de un restaurante donde cada <code>opci\u00f3n<\/code> puede pedirse una o varias veces. Cada <code>opci\u00f3n<\/code> se identifica y selecciona usando un <code>caracter<\/code> de un n\u00famero entero, luego se revisa entre cada <code>opci\u00f3n<\/code> disponible mediante bucle <code>while<\/code>, para continuar recibiendo peticiones de <code>opci\u00f3n<\/code>.<\/p>\n\n\n\n<figure class=\"wp-block-image alignright size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"428\" height=\"698\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2015\/07\/Menu_DiagramaFlujo01.png\" alt=\"men\u00fa diagrama flujo\" class=\"wp-image-16144\" \/><\/figure>\n\n\n\n<p>Para crear un men\u00fa en Python, los pasos a seguir se describen como:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Iniciar la <code>opci\u00f3n<\/code> seleccionada en \"0\" o un valor diferente a la <code>opci\u00f3n<\/code> de \"salida\" del lazo\/bucle.<\/li>\n\n\n\n<li>repetir el bloque men\u00fa en un lazo\/bucle mientras la opci\u00f3n seleccionada no sea la <code>opci\u00f3n<\/code> de \"salida\" del men\u00fa,<\/li>\n\n\n\n<li>Mostrar en pantalla las <code>opci\u00f3n<\/code>es del men\u00fa, y los valores que las seleccionan.<\/li>\n\n\n\n<li>Preguntar o pedir una <code>opci\u00f3n<\/code>, entre las mostradas en pantalla.<\/li>\n\n\n\n<li>Revisar la <code>opci\u00f3n<\/code> seleccionada entre las <code>opci\u00f3n<\/code>es disponibles. Use un condicional por cada <code>opci\u00f3n<\/code> disponible (caso) y se realice los pasos que se requieran. En este caso tambi\u00e9n se puede llamar a una funci\u00f3n o un procedimiento.<\/li>\n\n\n\n<li>Para la <code>opci\u00f3n<\/code> de salida, se puede a\u00f1adir un condicional y se muestran los mensajes de cierre de programa.<\/li>\n\n\n\n<li>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#menu\">Men\u00fa<\/a><\/p>\n\n\n\n<p><a href=\"#elif\">elif<\/a><\/p>\n\n\n\n<p><a href=\"#estructura\">Estructura<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplos\">Ejemplos<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"elif\">2. Instrucci\u00f3n \"elif\" semejante a la instrucci\u00f3n \"case\"<\/h2>\n\n\n\n<p>Para cada caso luego del primer condicional se usa \"<code>elif<\/code>\", que es la simplificaci\u00f3n de condicionales anidados, es decir lo que sigue despu\u00e9s del primer condicional es \"<code>else<\/code>\" y luego \"<code>if<\/code>\", al simplificar es \"<code>elif<\/code>\".<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; gutter: false; title: ; notranslate\" title=\"\">\nif (opcion=='1'):\n    print(' **** menu opcion 01 ****')    \nelse:\n    if (opcion=='2'):\n        print(' **** menu opcion 02 ****')\n    else:\n        print('No existe la opcion')\n<\/pre><\/div>\n\n\n<p>Se adjunta un video tutorial con un ejemplo para administrar el alquiler de un bloque de casilleros de 6 filas y 10 columnas.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Programaci\u00f3n de Men\u00fas en Python. Ejercicio: manejo de casilleros con matriz\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/KMC4JnUvIX4?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><strong>Ejercicio<\/strong>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-eval\/fp-3e10\/3eva2009tii_t2-registrar-alquiler-de-casilleros\/\" data-type=\"post\" data-id=\"2595\">3Eva2009TII_T2 Registrar alquiler de casilleros<\/a><\/p>\n\n\n\n<p><em>Soluci\u00f3n Propuesta:<\/em> <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-ejemplos\/fp-s3e10\/s3eva2009tii_t2-registrar-alquiler-de-casilleros\/\" data-type=\"post\" data-id=\"1316\"><strong>s<\/strong>3Eva2009TII_T2 Registrar alquiler de casilleros<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#menu\">Men\u00fa<\/a><\/p>\n\n\n\n<p><a href=\"#elif\">elif<\/a><\/p>\n\n\n\n<p><a href=\"#estructura\">Estructura<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplos\">Ejemplos<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"estructura\">3. Estructura b\u00e1sica de instrucciones en Python<\/h2>\n\n\n\n<p>Note que los valores de opci\u00f3n de selecci\u00f3n son tipo caracteres, por lo que tambi\u00e9n se puede usar letras para cada caso.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Ejemplo de un menu\n# las opciones se proponen por caracteres\n# propuesta: edelros@espol.edu.ec\n\n# menu\nopcion = '0'\nwhile not(opcion=='9'):\n    print(' 1. menu opcion 01')\n    print(' 2. menu opcion 02')\n    print(' 3. menu opcion 03')\n    print(' 4. menu opcion 04')\n    print(' 5. menu opcion 05')\n    print(' 9. Salir')\n\n    opcion=input('  --- \u00bfCu\u00e1l opcion?: ')\n    \n    if (opcion=='1'):\n        print(' **** menu opcion 01 ****')\n        \n    elif (opcion=='2'):\n        print(' **** menu opcion 02 ****')\n        \n    elif (opcion=='3'):\n        print(' **** menu opcion 03 ****')\n        \n    elif (opcion=='4'):\n        print(' **** menu opcion 04 ****')\n        \n    elif (opcion=='5'):\n        print(' **** menu opcion 05 ****')\n                \n    elif (opcion=='9'):\n        print(' **** Saliendo del menu  ****')\n        print(' **** Ejemplo de un menu ****')\n    else:\n        print('No existe la opcion en el menu')\n<\/pre><\/div>\n\n\n<p>Al final, se a\u00f1ade un \"else\", en el que se a\u00f1aden instrucciones para el caso que ninguno de los casos anteriores se cumpli\u00f3. Se muestra un mensaje como 'No existe la opci\u00f3n en el men\u00fa' y el lazo vuelve a iniciar.<\/p>\n\n\n\n<p>Ejemplos de ejercicios desarrollados y otros ejercicios se presentan en la siguiente secci\u00f3n.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#menu\">Men\u00fa<\/a><\/p>\n\n\n\n<p><a href=\"#elif\">elif<\/a><\/p>\n\n\n\n<p><a href=\"#estructura\">Estructura<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplos\">Ejemplos<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"ejemplos\">4. Ejemplos de men\u00fa con Python<\/h2>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-eval\/fp-3e10\/3eva2009tii_t2-registrar-alquiler-de-casilleros\/\" data-type=\"post\" data-id=\"2595\">3Eva2009TII_T2 Registrar alquiler de casilleros<\/a><\/p>\n\n\n\n<p><em>Soluci\u00f3n propuesta:<\/em> <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-ejemplos\/fp-s3e10\/s3eva2009tii_t2-registrar-alquiler-de-casilleros\/\" data-type=\"post\" data-id=\"1316\"><strong>s<\/strong>3Eva2009TII_T2 Registrar alquiler de casilleros<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-eval\/fp-2e10\/2eva2009tii_t3-controlar-saldos-prepago\/\" data-type=\"post\" data-id=\"2949\">2Eva2009TII_T3 Controlar saldos prepago<\/a><\/p>\n\n\n\n<p><em>Soluci\u00f3n propuesta:<\/em> <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-eval\/fp-2e10\/2eva2009tii_t3-controlar-saldos-prepago\/\" data-type=\"post\" data-id=\"2949\"><strong>s<\/strong>2Eva2009TII_T3 Controlar saldos prepago<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-eval\/fp-2e15\/2eva2015tii_t4-biciespol-prestamos-de-bicicletas\/\" data-type=\"post\" data-id=\"3046\">2Eva2015TII_T4 biciespol, prestamos de bicicletas<\/a><\/p>\n\n\n\n<p><em>Soluci\u00f3n propuesta:<\/em> <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-ejemplos\/fp-s2e20\/s2eva2015tii_t4-biciespol-prestamos-de-bicicletas\/\" data-type=\"post\" data-id=\"8116\"><strong>s<\/strong>2Eva2015TII_T4 biciespol, prestamos de bicicletas<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-eval\/fp-2e10\/2eva2006ti_t1-donaciones-defensa-civil\/\" data-type=\"post\" data-id=\"2893\">2Eva2006TI_T1 Donaciones defensa civil<\/a><\/p>\n\n\n\n<p><em>Soluci\u00f3n propuesta:<\/em> <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-ejemplos\/fp-s2e10\/s2eva2006ti_t1-donaciones-defensa-civil\/\" data-type=\"post\" data-id=\"1320\"><strong>s<\/strong>2Eva2006TI_T1 Donaciones defensa civil<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-eval\/fp-3e15\/3eva2015tii_t1-mensajes-en-redes-sociales-y-etiquetas\/\" data-type=\"post\" data-id=\"2687\">3Eva2015TII_T1 Mensajes en redes sociales y etiquetas<\/a><\/p>\n\n\n\n<p><em>Soluci\u00f3n propuesta:<\/em> <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-ejemplos\/fp-s3e20\/s3eva2015tii_t1-mensajes-en-redes-sociales-y-etiquetas\/\" data-type=\"post\" data-id=\"9512\"><strong>s<\/strong>3Eva2015TII_T1 Mensajes en redes sociales y etiquetas<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-eval\/fp-3e15\/3eva2015tii_t2-gestionar-mensajes-con-etiquetas\/\" data-type=\"post\" data-id=\"2689\">3Eva2015TII_T2 Gestionar mensajes con etiquetas<\/a><\/p>\n\n\n\n<p><em>Soluci\u00f3n propuesta:<\/em> <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-ejemplos\/fp-s3e20\/s3eva2015tii_t2-gestionar-mensajes-con-etiquetas\/\" data-type=\"post\" data-id=\"1939\"><strong>s<\/strong>3Eva2015TII_T2 Gestionar mensajes con etiquetas<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-eval\/fp-1e05\/1eva2002tii_t1-tablas-de-multiplicar\/\" data-type=\"post\" data-id=\"3071\">1Eva2002TII_T1a Crea tablas de multiplicar con strings del 1 a n<\/a><\/p>\n\n\n\n<p><em>Soluci\u00f3n propuesta:<\/em> <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-ejemplos\/fp-s1e10\/s1eva2002tii_t1-tablas-de-multiplicar\/\" data-type=\"post\" data-id=\"10872\"><strong>s<\/strong>1Eva2002TII_T1a Crea tablas de multiplicar con strings del 1 a n<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Ejercicios por desarrollar<\/h2>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-eval\/fp-3e15\/3eva2013tii_t4-gestionar-asientos-en-cine\/\" data-type=\"post\" data-id=\"2661\">3Eva2013TII_T4 Gestionar asientos en cine<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-eval\/fp-3e15\/3eva2013ti_t3-menu-de-consejerias-academicas\/\" data-type=\"post\" data-id=\"2651\">3Eva2013TI_T3 Men\u00fa de consejer\u00edas acad\u00e9micas<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-eval\/fp-3e05\/3eva2003tiii_t2-socios-del-club-por-genero\/\" data-type=\"post\" data-id=\"2506\">3Eva2003TIII_T2 Socios del club por g\u00e9nero<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#menu\">Men\u00fa<\/a><\/p>\n\n\n\n<p><a href=\"#elif\">elif<\/a><\/p>\n\n\n\n<p><a href=\"#estructura\">Estructura<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplos\">Ejemplos<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>Men\u00fa elif Estructura Ejemplos 1. Men\u00fa en Python \u00bfC\u00f3mo hacer un men\u00fa en Python? como una estructura simplificada y semejante a un men\u00fa de un restaurante donde cada opci\u00f3n puede pedirse una o varias veces. Cada opci\u00f3n se identifica y selecciona usando un caracter de un n\u00famero entero, luego se revisa entre cada opci\u00f3n disponible [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-fp-unidades","format":"standard","meta":{"footnotes":""},"categories":[109],"tags":[],"class_list":["post-7954","post","type-post","status-publish","format-standard","hentry","category-fp-u08"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7954","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/comments?post=7954"}],"version-history":[{"count":4,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7954\/revisions"}],"predecessor-version":[{"id":21915,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7954\/revisions\/21915"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=7954"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=7954"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=7954"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}