-
-
Save hipdev/4767166a3e3b5d486187ae03ba3adc90 to your computer and use it in GitHub Desktop.
Exercise
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import random | |
def generar_numero_secreto(): | |
while True: | |
numero_secreto = random.randint(100, 999) # Asegura un número de tres dígitos. | |
s = str(numero_secreto) | |
if s[0] != s[1] and s[1] != s[2] and s[0] != s[2]: # Verifica dígitos diferentes. | |
return numero_secreto | |
def evaluar_intento(intento, secreto): | |
intento_s = str(intento) | |
secreto_s = str(secreto) | |
pin = sum(intento_s[i] == secreto_s[i] for i in range(3)) | |
pon = sum(intento_s[i] in secreto_s and intento_s[i] != secreto_s[i] for i in range(3)) | |
return pin, pon | |
# Generamos el número secreto (esto normalmente estaría oculto al jugador). | |
numero_secreto = generar_numero_secreto() | |
print(f"DEBUG: Número secreto generado: {numero_secreto}") # Esta línea es solo para propósitos de demostración. | |
# Simulamos un intento del jugador. | |
intento_jugador = int(input("Intenta adivinar el número de 3 dígitos con dígitos diferentes: ")) | |
# Evaluamos el intento. | |
pin, pon = evaluar_intento(intento_jugador, numero_secreto) | |
print(f"Resultado: {pin} PIN(s), {pon} PON(s)") | |
# Aquí terminaría un intento. En un programa completo, se debería repetir este proceso respetando el máximo de intentos permitidos. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment