Curso de Fundamentos de Python

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

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 Positivo
            if 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 él
            else:
                bandera = False
                print("\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í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 que se 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 que se tiene de Lotería
            print("\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ón de 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 in range(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 While se ejecute de manera indefinida
        bandera = False# Se inicializa en falso para poder entrar en el ciclo While
        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 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 él
            else:
                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 que se 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 que se 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 que se 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.")

Curso de Fundamentos de Python

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

0 Comentarios

para escribir tu comentario

Artículos relacionados