Python - Sorteo con python

 
Vista:
sin imagen de perfil
Val: 26
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

Sorteo con python

Publicado por Aimar (9 intervenciones) el 26/09/2020 14:14:53
Buenas tardes,

Estoy trabajando en un sorteo bastante importante y tengo algun problemilla.

Debo crear 100 tarjetas con 58 numeros en cada una de ellas (un numero por dia, empezaria el dia 1 de octubre y acabaria el dia 29 de noviembre ), no se puede repetir ningun numero, ni tampoco se puede repetir un numero en el mismo dia en otra tarjeta. Esto es, si el dia 10 de la primera tarjeta es 68 la segunda tarjeta no puede tener el mismo numero en el dia 10 (pero si el primer dia por ejemplo).

He conseguido crear la cantidad de tarjetas que quiero y que no se repita un numero en la misma tarjeta, pero no se como hacer para que no se repita un numero en la misma posicion en tarjetas diferentes.

Adjunto codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
import random
 
okabio = [1, 2, 3, 4, 5, 6, 7]
oialdeakutiosarobe = [8, 9, 10, 11, 12, 13, 14, 15, 16]
uztarlekuloiategi = [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]
albinoantena = [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58]
labateiztegi = [59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73]
usategietamandoegi = [74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94]
txara = [97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112]
 
okabiosorteo = random.sample(okabio, 5)
oialdeakutiosarobesorteo = random.sample(oialdeakutiosarobe, 6)
uztarlekuloiategisorteo = random.sample(uztarlekuloiategi, 9)
albinoantenasorteo = random.sample(albinoantena, 10)
labateiztegisorteo = random.sample(labateiztegi, 8)
usategietamandoegisorteo = random.sample(usategietamandoegi, 10)
txarasorteo = random.sample(txara, 10)
 
from random import shuffle
sorteototala = okabiosorteo + oialdeakutiosarobesorteo + uztarlekuloiategisorteo + albinoantenasorteo + \
               labateiztegisorteo + usategietamandoegisorteo + txarasorteo
 
shuffle(sorteototala)
print(sorteototala)
 
x = []
for i in range(1, 101):
    shuffle(sorteototala)
    x.append(sorteototala)
print(x)
 
i=0
 
while i < 58:
    j=0
    okabio = [1, 2, 3, 4, 5, 6, 7]
    oialdeakutiosarobe = [8, 9, 10, 11, 12, 13, 14, 15, 16]
    uztarlekuloiategi = [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]
    albinoantena = [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58]
    labateiztegi = [59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73]
    usategietamandoegi = [74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94]
    txara = [97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112]
 
    while j < 100:
        z = j + 1
 
        if x[j][i] < 8:
            borratu = okabio.index(x[j][i])
            okabio.pop(borratu)
        if 17 > x[j][i] > 7:
            borratu = oialdeakutiosarobe.index(x[j][i])
            oialdeakutiosarobe.pop(borratu)
        if 39 > x[j][i] > 16:
            borratu = uztarlekuloiategi.index(x[j][i])
            uztarlekuloiategi.pop(borratu)
        if 59 > x[j][i] > 38:
            borratu = albinoantena.index(x[j][i])
            albinoantena.pop(borratu)
        if 74 > x[j][i] > 58:
            borratu = labateiztegi.index(x[j][i])
            labateiztegi.pop(borratu)
        if 95 > x[j][i] > 73:
            borratu = usategietamandoegi.index(x[j][i])
            usategietamandoegi.pop(borratu)
        if 113 > x[j][i] > 96:
            borratu = txara.index(x[j][i]])
            txara.pop(borratu)
 
        while z < 100:
            if x[j][i] == x[z][i]:
                if x[z][i] < 8:
                    x[z][i] = okabio[0]
                if 17 > x[z][i] > 7:
                    x[z][i] = oialdeakutiosarobe[0]
                if 39 > x[z][i] > 16:
                    x[z][i] = uztarlekuloiategi[0]
                if 59 > x[z][i] > 38:
                    x[z][i] = albinoantena[0]
                if 74 > x[z][i] > 58:
                    x[z][i] = labateiztegi[0]
                if 95 > x[z][i] > 73:
                    x[z][i] = usategietamandoegi[0]
                if 113 > x[z][i] > 96:
                    x[z][i] = txara[0]
            z = z + 1
        j = j + 1
    i = i +1
 
print(x)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder