Генерация случайного числа с определенным ограниченным размером

#python #python-3.x

Вопрос:

Не мог бы кто-нибудь объяснить мне, как я могу использовать random для создания списка, состоящего из чисел, которые отличаются от 0 до 9, а размер должен быть зафиксирован между 49 и 98?

 random_number = [random.randint(0,9) for _ in range()]
 

Я думаю, что мне следует использовать эту строку, но я не уверен, как ограничить число random_number, которое генерируется, числом, состоящим из 49-98 чисел.

Может ли кто-нибудь помочь мне прояснить это?

Комментарии:

1. Известен ли фиксированный размер между 49 и 98 или это тоже случайно?

2. random_number = [random.randint(49,98) for _ in range()] ?

3. Тоже случайно. Таким образом, он должен давать случайный размер от 49 до 98.

4. random_number = [random.randint(0,9) for _ in range(random.randint(49, 98))] если размер также случайный

5. Теперь мне это ясно. Большое всем спасибо.

Ответ №1:

Вы можете использовать random.choices для создания списка случайных записей из диапазона, переданного k= для определения размера. Мы можем перейти k=random.randint(49, 98) к созданию списка со случайной длиной в этом диапазоне

 import random
random.choices(range(0, 9), k=random.randint(49, 98))
 

Комментарии:

1. Я понимаю, но проблема, с которой я сталкиваюсь, больше связана с тем, как получить случайное число для нужного размера. Это случайное число размера должно находиться между значениями 49 и 98. Я не могу понять, как установить эти конкретные ограничения по размеру и что между ними должно быть случайное число.

2. Спасибо, у меня все получилось. 🙂

Ответ №2:

[random.randint(0,9) for _ in range(random.randint(49,98))]

Это должно делать то, что ты хочешь, нет? Диапазон принимает число, поэтому, если мы случайным образом сгенерируем число от 49 до 98 и передадим его в диапазон, мы получим список от 49 до 98 элементов, который будет повторен.

Правка: Кажется, комментарий опередил меня в этом. Трагический.

Комментарии:

1. Большое спасибо 🙂 Теперь у меня все получается