Kino en Python (parte 3)


En esta entrada pensaba escribir sobre lo que les comente en la entrada anterior, pero a medida que iba programando o diseñando el programa para hacerlo fácil de entender y potente me di cuenta que al escribirlo directamente si yo lo volviera a ver en 3 años no recordaría mucho y esto me hizo pensar que muchas personas no iban a entender el proceso de realizar un buen programa sin hacer las pruebas que esto lleva implícitas, es por esta razón que hoy  he decidido alargar mas estas entradas sobre loterías en python así la voy a llamar por que azar esta muy trillado 😀

En que consiste esta entrada, pues es la antesala a verificar cuantos números vamos a meter antes de ganarnos el grande, es decir antes de meter 15 números de 25 vamos a jugar muchos millones o cientos de miles de loterías kino, pero vamos a meter como mínimo 5 siempre pero el kino paga a partir de 11 “Rayos :S” y es por eso que cree el siguiente código que solo revisa 20 sorteos y nos deja verificar a ojo por ciento, es decir como lo haría un humano si ganamos y cuantos metimos, el programa imprime el sorteo, el numero de aciertos y nos permite comparar los 2 kinos el ganador y el que jugamos…. a continuaciones el código


#!/usr/bin/python
# -*- coding: utf-8 -*-
# Autor Orfeo mas conocido como Seth-Root
 
import random
 
# Programa que emula el sorteo del Kino, no pretendo introducirlos en juegos de azar solo que no he visto nada sobre esto en internet y hace tiempo lo busque y es una de las cosas pendientes que tengo
 
kino_jugado = [1, 3, 4, 5, 6, 10, 11, 13, 15, 17, 18, 19, 20, 21, 23]
kino_jugado2 = [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24,25]
lista_de25 = []
sorteo = 1
 
 
#while kino_jugado2 !=  lista_de25: # Iteramos 10 Veces
while sorteo < 21: # Iteramos 10 Veces
 
    num_metidos = 0
    lista25 = range (1 , 25)  # Creamos la lista del 1 a 15, recuerda que range no agrega el ultimo indice
 
    for i in range(1 , 10): # Iteramos 10 Veces
 
 
        lista_de25 = lista25  # Cambiamos el nombre de la lista por si algun error
 
        cuanots_hay = len( lista_de25 ) # contamos cuantos elementos hay, recuerda que la lista varia y pierde un elemenrto por ciclo y no queremos ese horrible error de fuera de rango
     
        x = random.randrange(cuanots_hay) # Buscams un numero Aleatorio
     
        sacar_numero = lista_de25.pop(x) # Pasamos el numero aleatorio y lo sacamos del Sorteo
       

### Esto es lo nuevo, iteramos sobre uno de los 2 kinos el jugado o el ganador y asi verificamos cuantos aciertos tenemos
    for h in lista_de25: # Iteramos sobre el ganador
       
  
        if h in kino_jugado2:
	      num_metidos += 1
	      
    
### Aqui la asalida importante
    print "en el sorteo",  sorteo , "Has metido" ,      num_metidos

### Ahora verificamos cuantos metimos contandolos a el ojo, por eso escribo codigos imagina hacer esto 1 millon de veces :S
    print "Tu jugaste:",  kino_jugado2 , "y el ganador es",  lista_de25 
    sorteo += 1
    
    if kino_jugado2 == lista_de25:
            print "En el sorteo:",  sorteo , ", Has metido" ,      num_metidos
            print "Tu jugaste:",  kino_jugado2 , "y el ganador es",  lista_de25 

 
# Utilizamos pop pero podiamos usar del, te invito a hacerlo😀, utilice pop para luego crear otra lista con los numeros
# que vayamos sacando y sacar los 15 como en efecto lo hacen naturalmente

Hasta aquí podemos verificar fácilmente el código agregado, pero recuerda que la meta es que el programa nos diga cuantas aciertos vamos a tener hasta pegarle al gordo por sorteo, de aquí en adelante podemos escribir un buen código pero si quieres esperar la próxima entrada espero tenerla pronto 😀

La salida del programa es mas o menos asi:

en el sorteo 1 Has metido 9
Tu jugaste: [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24, 25] y el ganador es [1, 2, 3, 4, 5, 7, 9, 12, 15, 16, 18, 19, 20, 21, 23]
en el sorteo 2 Has metido 10
Tu jugaste: [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24, 25] y el ganador es [1, 3, 6, 8, 9, 10, 12, 14, 15, 16, 17, 20, 21, 23, 24]
en el sorteo 3 Has metido 9
Tu jugaste: [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24, 25] y el ganador es [1, 3, 5, 6, 8, 9, 10, 13, 14, 15, 17, 20, 21, 22, 23]
en el sorteo 4 Has metido 10
Tu jugaste: [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24, 25] y el ganador es [1, 3, 6, 7, 8, 9, 10, 11, 12, 13, 16, 18, 19, 20, 24]
en el sorteo 5 Has metido 9
Tu jugaste: [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24, 25] y el ganador es [1, 2, 3, 4, 5, 7, 8, 9, 12, 16, 17, 18, 20, 21, 23]
en el sorteo 6 Has metido 10
Tu jugaste: [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24, 25] y el ganador es [2, 4, 6, 7, 8, 9, 10, 12, 16, 17, 19, 20, 22, 23, 24]
en el sorteo 7 Has metido 7
Tu jugaste: [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24, 25] y el ganador es [2, 3, 4, 5, 8, 10, 11, 12, 14, 15, 16, 18, 20, 21, 22]
en el sorteo 8 Has metido 9
Tu jugaste: [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24, 25] y el ganador es [1, 3, 4, 5, 6, 7, 8, 9, 13, 14, 15, 19, 21, 22, 23]
en el sorteo 9 Has metido 8
Tu jugaste: [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24, 25] y el ganador es [1, 3, 7, 8, 10, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24]
en el sorteo 10 Has metido 10
Tu jugaste: [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24, 25] y el ganador es [1, 4, 5, 6, 7, 8, 13, 14, 15, 16, 17, 18, 19, 20, 24]
en el sorteo 11 Has metido 7
Tu jugaste: [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24, 25] y el ganador es [1, 2, 5, 8, 9, 11, 14, 15, 16, 18, 20, 21, 22, 23, 24]
en el sorteo 12 Has metido 6
Tu jugaste: [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24, 25] y el ganador es [1, 5, 6, 7, 8, 9, 10, 11, 16, 18, 20, 21, 22, 23, 24]
en el sorteo 13 Has metido 8
Tu jugaste: [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24, 25] y el ganador es [1, 3, 5, 8, 9, 10, 11, 17, 18, 19, 20, 21, 22, 23, 24]
en el sorteo 14 Has metido 6
Tu jugaste: [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24, 25] y el ganador es [1, 3, 4, 5, 6, 7, 10, 11, 14, 16, 18, 19, 21, 22, 24]
en el sorteo 15 Has metido 10
Tu jugaste: [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24, 25] y el ganador es [1, 2, 3, 7, 8, 9, 10, 12, 13, 15, 16, 19, 20, 21, 23]
en el sorteo 16 Has metido 8
Tu jugaste: [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24, 25] y el ganador es [1, 3, 4, 7, 10, 11, 13, 14, 15, 17, 19, 20, 21, 22, 23]
en el sorteo 17 Has metido 6
Tu jugaste: [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24, 25] y el ganador es [1, 4, 5, 7, 9, 10, 11, 13, 14, 16, 17, 18, 21, 22, 24]
en el sorteo 18 Has metido 8
Tu jugaste: [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24, 25] y el ganador es [3, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 22, 23, 24]
en el sorteo 19 Has metido 10
Tu jugaste: [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24, 25] y el ganador es [2, 3, 6, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 21, 23]
en el sorteo 20 Has metido 7
Tu jugaste: [1, 2, 3, 4, 6, 8, 9, 12, 13, 15, 17, 19, 20, 24, 25] y el ganador es [1, 4, 5, 6, 7, 10, 12, 14, 16, 17, 18, 20, 22, 23, 24]


Hasta pronto

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s