Juego de adivinar números
Pip ¡Hola! Mira, tenemos un viaje de carga de 14 horas al cinturón exterior la próxima semana y necesito algo para sobrevivirlo. ¿Me puedes armar un jueguito de adivinar números? La computadora elige un número aleatorio, yo adivino, me dice si me pasé o me quedé corto, y sigo hasta que le atine. Nada del otro mundo. Solo algo para que no se me derrita el cerebro 🙏
Lo que vas a construir
Adivina un número entre 1 y 100: 50
Demasiado alto. Intenta de nuevo.
Adivina un número entre 1 y 100: 25
Demasiado bajo. Intenta de nuevo.
Adivina un número entre 1 y 100: 37
Demasiado bajo. Intenta de nuevo.
Adivina un número entre 1 y 100: 43
¡Lo lograste en 4 intentos!Lo que vas a necesitar
- Salida y entrada — pedirle al jugador un intento en cada ronda
- Números y aritmética — comparar el intento con el número objetivo
- Flujo de control — un bucle que siga ejecutándose y condiciones que se ramifiquen según cada resultado
- Módulos y la biblioteca estándar — el módulo
randomelige el número secreto
Pistas
El número aleatorio. El módulo random tiene una función que devuelve un entero aleatorio dentro de un rango que tú especifiques. Revisa el capítulo de módulos. Es una sola línea.
El bucle. Necesitas algo que siga pidiendo un intento hasta que el jugador acierte. Piensa en qué condición lo hace detenerse, no solo en qué lo mantiene en marcha.
Los tipos. input() siempre devuelve un string. Lo estás comparando con un número. Esa comparación no va a funcionar como esperas. Convierte antes de comparar.
Para ir más allá
Una vez que el script principal funcione, aquí tienes algunas formas de llevarlo más lejos:
- Cuenta los intentos. Lleva la cuenta de cuántos intentos hizo el jugador y muéstrala al final.
- Modos de dificultad. Deja que el jugador elija un rango al inicio: 1 a 20, 1 a 100, o 1 a 500.
- Intentos limitados. Dale al jugador una cantidad fija de intentos. Dile cuántos le quedan en cada ronda. Si se le acaban, revela la respuesta.
- Jugar de nuevo. Cuando termine el juego, pregúntale si quiere otra ronda. Lleva un conteo acumulado de victorias y derrotas.

