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

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.