Случайно распределить номера по спискам - PullRequest
0 голосов
/ 06 ноября 2018

У меня 4 пустых списка. Я хотел бы распределить числа случайным образом, начиная с 1, до тех пор, пока сумма всех чисел в списках не превысит 1000.

Вот код, который я пробовал:

toplam=0
x=0
while toplam<1000:
    x+=1
    toplam+=x
a=[]
b=[]
c=[]
d=[]
list=[a,b,c,d]
z=[1,2,3,4]
import random
for i in range(x):
    t=random.choice(z)
    t2=list[t]
    t2.append(x)
print(list)

Я хочу:

[[2, 6, 8, 18, 20, 21, 28, 40, 43], [1, 5, 19, 23, 24, 25, 29, 31, 33, 34, 35, 37, 39, 45], [9, 10, 11, 13, 15, 22, 26, 36, 38, 44], [3,
4, 7, 12, 14, 16, 17, 27, 30, 32, 41, 42]]

Сумма списков:

[186, 380, 224, 245]

1 Ответ

0 голосов
/ 06 ноября 2018

Индексы в Python начинаются с 0.

import random

vals = [[] for _ in range(4)]
x = 0

while (x * (x + 1)) / 2 < 1000:
    t = random.randint(0,3)
    vals[t].append(x)
    x+=1

print(vals)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...