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:
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
0