Как увеличить количество генерируемых значений в random.randint
Моя задача состоит в том, чтобы сгенерировать случайные значения в диапазоне от 300000 до 10000000. При этом все сгенерированные значения должны попадать в список, а сумма списка не должна превышать переменную limit Дополнительным условием еще является то, что количество значений необходимо регулировать переменной (до этого я в коде даже не дошел еще, т.к. в первой части воткнулся в проблему) Мой код:
numbers = []
total = 0
limit = 22494741.76
while len(numbers) < 3000 :
number = random.randint(300000, 10000000)
numbers.append(number)
total += number
print(total)
if total >= limit:
numbers.pop()
numbers.append(round(limit- sum(numbers)))
break
print(numbers)
print(total)
Output:
9194174
13985772
15862135
17430413
25741680
[9194174, 4791598, 1876363, 1568278, 5064329]
25741680
Эта штука генерирует 4-8 значений и все... Почему генератор быстро набирает необходимую сумму? Почему количество значений так мало? Почему генератор не может сгенерировать больше значений (по количеству), но более мелкими цифрами? Была идея сделать генератор на 1000 - 5000 случайных значений методом random.randint(min_value, max_value) все значения записать в список и потом пройтись по этому списку генератором random.choice(list_value). Но это не принесло результата... Опять получил 4-8 значений.