Сгенерировать случайные целые числа от 0 до 9
Как можно сгенерировать случайные целые числа в диапазоне от 0
до 9
(включительно) на Python?
Например, возможные значения: 0
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, 9
.
5 ответ(ов)
Попробуйте следующее:
from random import randrange, uniform
# randrange возвращает целое значение
irand = randrange(0, 10)
# uniform возвращает значение с плавающей точкой
frand = uniform(0, 10)
Если у вас есть дополнительные вопросы или нужно объяснение, не стесняйтесь спрашивать!
Этот код генерирует 10 псевдослучайных целых чисел в диапазоне от 0 до 9 включительно. Вот что он делает:
- Импортируется функция
randint
из модуляrandom
. - С помощью генератора списка создается список
x
, содержащий 10 чисел. - Для каждого значения
p
в диапазоне от 0 до 9 (всего 10 итераций) вызываетсяrandint(0, 9)
, который генерирует случайное целое число от 0 до 9.
Итак, итоговый список x
будет содержать 10 случайных чисел, каждый из которых находится в диапазоне от 0 до 9.
Выберите размер массива (в этом примере я выбрал размер 20). Затем используйте следующий код:
import numpy as np
np.random.randint(10, size=(1, 20))
Вы можете ожидать, что результат будет иметь следующий вид (каждый раз будут возвращаться разные случайные целые числа; поэтому можно ожидать, что целые числа в выходном массиве будут отличаться от приведенного ниже примера).
array([[1, 6, 1, 2, 8, 6, 3, 3, 2, 5, 6, 5, 0, 9, 5, 6, 4, 5, 9, 3]])
Вам нужен модуль random
, который является частью стандартной библиотеки Python. Используйте следующий код:
from random import randint
num1 = randint(0, 9)
Этот код присвоит переменной num1
случайное число в диапазоне от 0
до 9
включительно.
Попробуйте сделать это с помощью random.shuffle
:
>>> import random
>>> nums = list(range(10)) # Обратите внимание, что range() возвращает итератор в Python 3, поэтому нужно привести его к списку
>>> random.shuffle(nums)
>>> nums
[6, 3, 5, 4, 0, 1, 2, 9, 8, 7]
Функция random.shuffle
перемешивает список на месте, то есть изменяет порядок элементов в исходном списке nums
. Убедитесь, что вы используете список, а не объект range
, так как range
называется итератором и не поддерживает изменение его порядка напрямую.
Как преобразовать строку в float или int?
Генерация случайных целых чисел в JavaScript в заданном диапазоне
Как случайно выбрать элемент из списка?
Как сгенерировать случайные целые числа в определенном диапазоне на Java?
Максимальные и минимальные значения для целых чисел (ints)