python

Python: cueva de Alí Babá y los cuarenta ladrones

En este post de programación en Python vamos a ver cómo resolver un ejercicio propuesto que trata sobre simular la cueva de Alí Babá y los cuarenta ladrones. Específicamente dice:

Elaborar una aplicación de línea de comandos en Python cuyo propósito sea emular la cueva de la historia de “Alí Babá y Los Cuarenta Ladrones” que se abre mágicamente con la frase “Ábrete Sésamo”. En esta aplicación se tomará el nombre del ladrón por teclado y guardará la cantidad de intentos que el ladrón realiza hasta abrir la puerta. Si el ladrón intenta 10 veces o más entonces la puerta se cerrará eternamente (el programa debe terminar).

Veamos cómo resolver este ejercicio propuesto, es decir, su solución en el lenguaje de programación Python.

Explicación del algoritmo

Para este ejercicio vamos a usar el ciclo while y solicitar datos con la función input. El ciclo va a ejecutarse mientras no se acaben los intentos.

Dentro del ciclo vamos a solicitar la frase correcta, y si el usuario acierta, imprimimos el mensaje de éxito además de salir del programa.

Al terminar el ciclo, imprimimos que la puerta se ha cerrado por siempre (pues el ciclo se rompió ya que el usuario terminó con los intentos) e igualmente se termina el programa.

Código del programa

Veamos ahora el código fuente en Python. El mismo queda así:

"""

  ____          _____               _ _           _       
 |  _ \        |  __ \             (_) |         | |      
 | |_) |_   _  | |__) |_ _ _ __ _____| |__  _   _| |_ ___ 
 |  _ <| | | | |  ___/ _` | '__|_  / | '_ \| | | | __/ _ \
 | |_) | |_| | | |  | (_| | |   / /| | |_) | |_| | ||  __/
 |____/ \__, | |_|   \__,_|_|  /___|_|_.__/ \__, |\__\___|
         __/ |                               __/ |        
        |___/                               |___/         
    
____________________________________
/ Si necesitas ayuda, contáctame en \
\ https://parzibyte.me               /
 ------------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
Creado por Parzibyte (https://parzibyte.me). Este encabezado debe mantenerse intacto,
excepto si este es un proyecto de un estudiante.
"""
import sys
intentos = 0
maximo_intentos = 10
frase_correcta = "Ábrete Sésamo"
nombre_ladron = input("Tu nombre: ")
while intentos < maximo_intentos:
    frase = input("Ingresa la frase para abrir la puerta: ")
    if frase == frase_correcta:
        print("La puerta se ha abierto")
        sys.exit()
    else:
        print("Incorrecto")
    intentos += 1


print("La puerta se ha cerrado para siempre")

Como puedes ver, terminamos el programa con sys.exit y así salimos de toda la ejecución. Para aumentar el número de intentos usamos el operador += en la línea 36.

También estamos definiendo el máximo de intentos en la línea 26, y la frase correcta (que puede ser cambiada) en la línea 27.

Al ejecutarlo en mi caso y probar un poco, vemos lo siguiente:

Ejercicio resuelto en Python – Alí Babá y los cuarenta ladrones

Puedes ver más sobre Python en mi blog.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

3 días hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

4 días hace

Guía para imprimir en plugin versión 1 desde Android

En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…

1 semana hace

Añadir tasa de cambio en sistema de información

Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…

2 semanas hace

Comprobar validez de licencia de plugin ESC POS

Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…

2 semanas hace

Imprimir euro € en impresora térmica

Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…

3 semanas hace

Esta web usa cookies.