DirtyCheese02 / actividades-programacion

Todas las actividades de programacion
0 stars 0 forks source link

Certamen 1.2 #4

Open DirtyCheese02 opened 1 year ago

DirtyCheese02 commented 1 year ago

from random import randint

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

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

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) > 1 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$")

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$")

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

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")

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

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