1 usuario conectado

Adivinar número aleatorio en Python

Comparte esto

 
Escribe un código Python que genere un número aleatorio entre 1 y 100. Luego, le pide al usuario que adivine el número. El programa debe proporcionar pistas ("demasiado alto" o "demasiado bajo") hasta que el usuario adivine el número correcto.
.


Más ejercicios




Mostrar/Ocultar ejercicio resuelto


  Solución al Ejercicio: Adivinar número aleatorio

📋 Copiar código


import random

def juego_adivina_numero():
  """
  Genera un número aleatorio entre 1 y 100 y permite al usuario adivinarlo.
  Proporciona pistas hasta que el usuario acierta.
  """
  numero_secreto = random.randint(1, 100)
  intentos = 0

  print("¡Bienvenido al juego de adivinar el número!")
  print("Estoy pensando en un número entre 1 y 100.")

  while True:
    try:
      intento_usuario = int(input("Intenta adivinar el número: "))
      intentos += 1

      if intento_usuario < numero_secreto:
        print("¡Demasiado bajo!")
      elif intento_usuario > numero_secreto:
        print("¡Demasiado alto!")
      else:
        print(f"¡Felicidades! ¡Adivinaste el número ({numero_secreto}) en {intentos} intentos!")
        break
    except ValueError:
      print("Entrada inválida. Por favor, introduce un número entero.")

# Iniciar el juego
juego_adivina_numero()

Explicación del Código:

  1. import random:

    • Importa el módulo random para generar el número secreto aleatorio.
  2. def juego_adivina_numero()::

    • Define una función llamada juego_adivina_numero que contiene la lógica del juego.
  3. numero_secreto = random.randint(1, 100):

    • Genera un número entero aleatorio entre 1 y 100 (inclusive) y lo almacena en la variable numero_secreto. Este es el número que el usuario debe adivinar.
  4. intentos = 0:

    • Inicializa una variable intentos en 0 para contar cuántos intentos realiza el usuario.
  5. Se imprimen mensajes de bienvenida e instrucciones para el usuario.

  6. while True::

    • Se inicia un bucle while que continuará hasta que el usuario adivine el número correcto y se salga del bucle con break.
  7. try...except ValueError::

    • Se utiliza un bloque try...except para manejar posibles errores si el usuario ingresa algo que no es un número entero.
  8. intento_usuario = int(input("Intenta adivinar el número: ")):

    • Se le pide al usuario que ingrese su intento y se intenta convertir la entrada a un entero.
  9. intentos += 1:

    • Se incrementa el contador de intentos en cada iteración del bucle.
  10. Se comparan el intento del usuario y el número secreto:

    • Si el intento es menor (intento_usuario < numero_secreto), se imprime "¡Demasiado bajo!".
    • Si el intento es mayor (intento_usuario > numero_secreto), se imprime "¡Demasiado alto!".
    • Si el intento es igual (else:), significa que el usuario ha adivinado el número correctamente. Se imprime un mensaje de felicitación que incluye el número secreto y la cantidad de intentos, y se sale del bucle con break.
  11. except ValueError::

    • Si el usuario ingresa algo que no se puede convertir a un entero, se captura la excepción ValueError y se imprime un mensaje de error. El bucle continúa para que el usuario pueda intentarlo de nuevo.
  12. juego_adivina_numero():

    • Se llama a la función para iniciar el juego cuando se ejecuta el script.