El siguiente código despliega un juego de lotería donde el usuario debe adivinar un número del 1 al 10 y puede jugar las veces que desee dentro de la misma ejecución.
Este programa despliega los conceptos aprendidos de Tipos de datos, Condicionales, Ciclos, Manejo de Listas y Diccionarios:
1- Primero se crea un encabezado en el código para dejar registro de quien ha creado este código y le fecha de creación:
"""
Programa elaborado por Alejandro Riaño Velasco - JUEGO DE LOTERÍA.
16 de mayo de 2023
"""
2- Generamos unos mensajes de encabezado y bienvenida al juego:
#INICIO DEL PROGRAMA
print("*** INICIO DEL PROGRAMA ***")
mensaje01 = " BIENVENIDO AL JUEGO DE LOTERÍA “
print (”\n",mensaje01.center(50,"="))
3- Importamos la librería “random” para poder hacer uso de la función “randint()”:
import random
4- Inicializamos un diccionario para guardar los nombres del(a) jugador(a):
person = {
'name' : '',
'lastName' : '',
}
5- Le solicitamos al usuario ingresar sus nombres y apellidos y los guardamos en el diccionario:
nombreUsuario = (input('\nIngrese sus nombres: '))
apellidoUsuario = (input('Ingrese sus apellidos: '))
person['name'] = nombreUsuario
person['lastName'] = apellidoUsuario
6- Le solicitamos al usuario la cantidad de veces que desea jugar:
juegos = int(input('\nIngrese la cantidad de veces que desea jugar: '))
7- Definimos una lista que alimentaremos con la cantidad de veces que el usuario ha ingresado y le confirmamos al usuario este valor:
listaJuegos = []
for elemento in range(1, juegos+1):
listaJuegos.append(elemento)
print('\nVas a jugar ', listaJuegos[-1], ' veces')
8- Definimos un primer ciclo “for” para iterar la cantidad de veces que el usuario desea jugar e inicializar las variables de número de Lotería y la cantidad de intentos que el usuario usará en cada juego:
for juego in listaJuegos:
numeroLoteria = random.randint(1, 10) # Se usa la función randit para que asigne un valor aleatorio de 1 a 10
intentos = 0 # Inicializamos los intentos en cero
print(f'\n----- INICIO DEL JUEGO: {juego} -----')
9- Definimos un “while” anidado dentro del “for” anterior, donde se ejecutará el juego de manera indefinida el juego hasta que el usuario adivine el número de la lotería:
while True: # Se coloca el valor en Verdadero para que el ciclo Whilese ejecute de manera indefinida
10- Inicializamos una variable que funcione como bandera dentro del siguiente ciclo “while” anidado:
bandera = False # Se inicializa en falso para poder entrar en el ciclo While
11- Se define un siguiente ciclo “while” anidado, donde se evalúa que el valor que ingresa el usuario sea un valor válido entero entre 1 y 10:
while bandera == False:
numeroUsuario = input("\nAdivina el número secreto del 1 al 10: ")
bandera = numeroUsuario.isnumeric() # Se evalúa si el valor ingresado es Entero Positivoif bandera == False:
print("\nHaz ingresado un valor incorrecto, deben ser valores enteros positivos, del 1 al 10")
elif int(numeroUsuario) >= 1andint(numeroUsuario) <= 10: # Se evalúa si el valor ingresado sea de 1 a 10
bandera = True
numeroUsuario = int(numeroUsuario) # Convierte el valor texto en entero para poder hacer operaciones matemáticas con élelse:
bandera = Falseprint("\nHaz ingresado un valor incorrecto, deben ser valores enteros positivos, del 1 al 10")
12- Incrementamos en 1 el valor de los intentos realizados por el usuario:
intentos += 1
13- Procedemos a realizar la evaluación del número válido ingresado por el usuario vs el valor aleatorio de lotería generado por la función “random.randint(1, 10)”:
if numeroUsuario == numeroLoteria: # Evalúa el valor ingresado por el usuario vs el que se tiene de Loteríaprint("\n¡FELICIDADES! Adivinaste la LOTERÍA en", intentos, "intentos.")
break# Esta sentencia rompe el ciclo ya que el número ya fue adivinadoelif numeroUsuario > numeroLoteria: # Evalúa si el valor ingresado por el usuario es menor al que se tiene de Loteríaprint("\nEl número secreto es menor que", numeroUsuario)
else: # Evalúa si el valor ingresado por el usuario es mayor al que se tiene de Loteríaprint("\nEl número secreto es mayor que", numeroUsuario)
14- Procedemos a dar cierre al juego y mostramos al usuario cuantos juegos le quedan respecto al valor que él ingresó.
print(f"\n------ FIN DEL JUEGO: {juego} ------")
print("\nTe quedan ", listaJuegos[-1]-juego, " juegos.") # Hace el conteo de los juegos restantes
15- Una vez finalizados todos los juegos se sale del ciclo “for” inicial y mostramos un mensaje de despedida
print("\nMuchas gracias, vuelve pronto.")
16- Este es todo el código completo:
"""
Programa elaborado por Alejandro Riaño Velasco - JUEGO DE LOTERÍA.
16 de mayo de 2023
"""
#INICIO DEL PROGRAMA
print("*** INICIO DEL PROGRAMA ***")
mensaje01 = " BIENVENIDO AL JUEGO DE LOTERÍA "print ("\n",mensaje01.center(50,"="))
import random # Se importa la librería de random de Python para poder usar la funciónde randit()'
person = {
'name' : '',
'lastName' : '',
}
nombreUsuario = (input('\nIngrese sus nombres: '))
apellidoUsuario = (input('Ingrese sus apellidos: '))
person['name'] = nombreUsuario
person['lastName'] = apellidoUsuario
juegos = int(input(f'\nBienvenido(a) {person["name"]} {person["lastName"]}.\nIngrese la cantidad de veces que desea jugar: '))
listaJuegos = []
for elemento inrange(1, juegos+1):
listaJuegos.append(elemento)
print('\nVas a jugar ', listaJuegos[-1], ' veces')
for juego in listaJuegos:
numeroLoteria = random.randint(1, 10) # Se usa la función randit para que asigne un valor aleatorio de 1 a 10
intentos = 0# Inicializamos los intentos en cero
print(f'\n----- INICIO DEL JUEGO: {juego} -----')
whileTrue: # Se coloca el valor en Verdadero para que el ciclo Whilese ejecute de manera indefinida
bandera = False# Se inicializa en falso para poder entrar en el ciclo Whilewhile bandera == False:
numeroUsuario = input("\nAdivina el número secreto del 1 al 10: ")
bandera = numeroUsuario.isnumeric() # Se evalúa si el valor ingresado es Entero Positivo
if bandera == False:
print("\nHaz ingresado un valor incorrecto, deben ser valores enteros positivos, del 1 al 10")
elif int(numeroUsuario) >= 1and int(numeroUsuario) <= 10: # Se evalúa si el valor ingresado sea de 1 a 10
bandera = True
numeroUsuario = int(numeroUsuario) # Convierte el valor texto en entero para poder hacer operaciones matemáticas con élelse:
bandera = False
print("\nHaz ingresado un valor incorrecto, deben ser valores enteros positivos, del 1 al 10")
intentos += 1
if numeroUsuario == numeroLoteria: # Evalúa el valor ingresado por el usuario vs el quese tiene de Lotería
print("\n¡FELICIDADES! Adivinaste la LOTERÍA en", intentos, "intentos.")
break# Esta sentencia rompe el ciclo ya que el número ya fue adivinado
elif numeroUsuario > numeroLoteria: # Evalúa si el valor ingresado por el usuario es menor al quese tiene de Lotería
print("\nEl número secreto es menor que", numeroUsuario)
else: # Evalúa si el valor ingresado por el usuario es mayor al quese tiene de Lotería
print("\nEl número secreto es mayor que", numeroUsuario)
print(f"\n------ FIN DEL JUEGO: {juego} ------")
print("\nTe quedan ", listaJuegos[-1]-juego, " juegos.") # Hace el conteo de los juegos restantes
print(f"\nMuchas gracias {person['name']} {person['lastName']}. Vuelve pronto.")
¡Gracias!
¡Muchas gracias por el útil contenido del “Tutorial Juego de Lotería en Python”! Como principiante en programación, estoy muy interesado en desarrollar juegos, por lo que esta guía es muy importante para mí. Si bien estoy comenzando, me esfuerzo por aprender de las mejores experiencias en la creación de juegos, y una de mis fuentes de inspiración son los populares casinos en línea. De hecho, paso mucho tiempo estudiando diversos casinos en línea para aprender de ellos. Recientemente, encontré una reseña detallada sobre Somos Casino en https://casinoinchile.com/casino/somos/ y desde entonces sigo todas sus actualizaciones relacionadas con juegos. Es emocionante ver cómo la industria del juego evoluciona constantemente y estoy ansioso por seguir aprendiendo y creando mis propios juegos.