DirtyCheese02 / actividades-programacion

Todas las actividades de programacion
0 stars 0 forks source link

Certamen 1 change #3

Open DirtyCheese02 opened 1 year ago

DirtyCheese02 commented 1 year ago

from random import randint

programa = True while programa == True:

Generador de numeros en la tomobola
numeros_tombola = []
for x in range(1,8):
    while True:
        numero_aleatorio = randint(1,20)
        if numero_aleatorio not in numeros_tombola:
            numeros_tombola.append(numero_aleatorio)
            break

print(numeros_tombola)
Check de restricciones
def check(b):
    estado_check = False
    if b > 20 or b < 0:
        print("El numero tiene que estar entre 0 y 20")
    elif b in numeros_elegidos:
        print("Eliga un numero no repetido")
    else:
        estado_check = True
        return estado_check
Input de numeros elegidos
print("Bienvenido a la loteria, eliga 6 numeros y un comodin entre 0 y 20.")

n = 1 
numeros_elegidos = []
for y in range(0,7):
    while True:
        if n == 7: 
            numero = int(input("Comodin: "))
        else: 
            numero = int(input(f"Numero {n}: "))

        if check(numero) is True:
            numeros_elegidos.append(numero)
            n += 1
            break

comodin = numeros_elegidos[-1]
numeros_elegidos.pop(-1)

numeros_incorrectos = []
numeros_correctos = []
numeros_restantes = []

for x in numeros_tombola:
    numeros_restantes.append(x)

for z in numeros_elegidos:
    if z in numeros_tombola:
        numeros_correctos.append(z)
        numeros_restantes.remove(z)
    else:
        numeros_incorrectos.append(z)

if comodin in numeros_restantes:
    comodin_correcto = True
    numeros_restantes.remove(comodin)
    numeros_correctos.append(comodin)

elif len(numeros_restantes) == 1:
    comodin_correcto = False
    numeros_incorrectos.append(comodin)
    if comodin < numeros_restantes[0]:
        mayor_menor = "mayor"
    else:
        mayor_menor = "menor"
else:
    comodin_correcto = False
    numeros_incorrectos.append(comodin)

if len(numeros_restantes) == 1 and comodin_correcto == False:
    print(f"""Felicidades!!!, Acertaste en todas excepto en el comodin, tiene permitido cambiarlo.

(Pista: el numero es {mayor_menor} a {comodin}""") while True: comodin = int(input("Comodin: ")) if check(comodin) == True: if comodin == numeros_restantes[0]: numeros_restantes.remove(comodin) numeros_correctos.append(comodin) break else: break

elif len(numeros_restantes) > 1 and comodin_correcto == False:
    numeros_incorrectos.remove(comodin)
    numeros_incorrectos.sort()
    print(f"""Se equivoco en los numeros {numeros_incorrectos} y en el comodin {comodin}, tiene permitido cambiar el menor numero sin contar el comodin.

en este caso el numero {numeros_incorrectos[0]}""") while True: numeros_incorrectos[0] = int(input("Numero nuevo: ")) if check(numeros_incorrectos[0]) == True: if numeros_incorrectos[0] in numeros_restantes: numeros_restantes.remove(numeros_incorrectos[0]) numeros_correctos.append(numeros_incorrectos[0]) numeros_incorrectos.pop(0) break else: break numeros_incorrectos.append(comodin)

elif len(numeros_restantes) > 0 and comodin_correcto == True:
    n = 1
    print(f"Ha acertado en el comodin!!! pero se equivoco en estos numeros {numeros_incorrectos}, puede volver a cambiarlos")
    for x in range(0,len(numeros_incorrectos)):
        while True:
            numero = int(input(f"Numero {n}: "))
            estado_check = check(numero)
            if numero == comodin:
                print("Ya ha elegido el numero del comodin, eliga otro")
                estado_check = False
            if estado_check is True:
                n += 1
                if numero in numeros_restantes:
                    numeros_restantes.remove(numero)
                    numeros_correctos.append(numero)
                else:
                    numeros_incorrectos.append(numero)
                    numeros_incorrectos.pop(0)
                break
Resultados de premios
print(f"Los numeros en la tombola fueron {numeros_tombola}")
print(f"Los numeros elegidos fueron {numeros_correctos + numeros_incorrectos}")

if len(numeros_correctos) == 7:
    print("Has ganado la loteria!!!, su premio es de 50.000.000$")
    programa = False

elif len(numeros_correctos) == 6 and comodin_correcto == False:
    print("Has acertado todos los numeros excepto el comodin!!!, su premio es de 25.000.000$")
    programa = False

elif len(numeros_correctos) == 6 and comodin_correcto == True:
    print("Has acertado 5 numeros y el comodin!!!, su premio es de 10.000.000$")
    programa = False

elif len(numeros_correctos) == 5 and comodin_correcto == False:
    print("Has acertado 5 numeros y no el comodin!!!, su premio es de 2.000.000")
    programa = False

elif len(numeros_correctos) < 6 and comodin_correcto == True:
    print("Has acertado el comodin!!!, su premio es de $100.000")
    programa = False

else:
    print(f"Ha acertado en {len(numeros_correctos)} numeros pero no ha ganado nada nada D;, vuelva a intentarlo")
    programa = False