From 8d329cf5d1040ba41298317bdc310e5b3ae34fd3 Mon Sep 17 00:00:00 2001 From: Chrisdev00 <134344269+Chrisdev00@users.noreply.github.com> Date: Wed, 20 Dec 2023 17:42:09 -0400 Subject: [PATCH] Reto #13 - python --- .../python/Chrisdev00.py | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 Retos/Reto #13 - ADIVINA LA PALABRA [Media]/python/Chrisdev00.py diff --git a/Retos/Reto #13 - ADIVINA LA PALABRA [Media]/python/Chrisdev00.py b/Retos/Reto #13 - ADIVINA LA PALABRA [Media]/python/Chrisdev00.py new file mode 100644 index 0000000000..81e848d855 --- /dev/null +++ b/Retos/Reto #13 - ADIVINA LA PALABRA [Media]/python/Chrisdev00.py @@ -0,0 +1,79 @@ +""" + * Crea un pequeño juego que consista en adivinar palabras en un número máximo de intentos: + * - El juego comienza proponiendo una palabra aleatoria incompleta + * - Por ejemplo "m_ur_d_v", y el número de intentos que le quedan + * - El usuario puede introducir únicamente una letra o una palabra (de la misma longitud que + * la palabra a adivinar) + * - Si escribe una letra y acierta, se muestra esa letra en la palabra. Si falla, se resta + * uno al número de intentos + * - Si escribe una resolución y acierta, finaliza el juego, en caso contrario, se resta uno + * al número de intentos + * - Si el contador de intentos llega a 0, el jugador pierde + * - La palabra debe ocultar de forma aleatoria letras, y nunca puede comenzar ocultando más del 60% + * - Puedes utilizar las palabras que quieras y el número de intentos que consideres + """ + +import random + + +def show_random_word (word): + + palabra_a_adivinar = "" + + letra_a_remplazar = random.sample(range(len(word)), int(0.6 * len(word))) + cont = 0 + for i in range(len(word)): + if i in letra_a_remplazar: + palabra_a_adivinar += "_" + cont += 1 + else: + palabra_a_adivinar += word[i] + + print(f"Tienes {cont} intentos para poder adivinar") + return list(palabra_a_adivinar) + + +def show_word (palabra_a_adivinar): + return "".join(palabra_a_adivinar) + +def find_word (palabra_a_adivinar, num): + + trys = 0 + + while trys < num: + user_letter = input("Introduce una letra para adivinar: ").lower() + + if len(user_letter) == 1 and user_letter.isalpha(): # Se verifica que la entrada del usuario sea una sola letra y que sea alfabética + if user_letter in word: + print("Usted adivino una letra") + for i, letra in enumerate(word): + if letra == user_letter: + palabra_a_adivinar[i] = user_letter + + print(f"La palabra actual es: {palabra_a_adivinar}") + + if "_" not in palabra_a_adivinar: + print(f"Felicidades a encontrado la palabra {word}") + break + else: + print("La letra no esta en la palabra intenta de nuevo") + trys += 1 + if trys == intentos: + print("Perdiste no encontraste la palabra oculta") + break + + else: + print("Entrada no valida ingrese una sola letra") + +word_list = ["windows", "tecnologia", "software", "development", "languages", "python", "visual", "program"] +word = random.choice(word_list) + +word_to_guess = show_random_word(word) +print(show_word(word_to_guess)) + +intentos = int(0.6 * len(word)) +find_word(word_to_guess, intentos) + + + +