Поиск по сайту:

Метод randint() в Python


Введение

В этом руководстве мы сосредоточимся на методе randint() в Python. В наших предыдущих руководствах мы видели различные методы генерации случайных чисел, определенные внутри модуля random в нашем Учебнике по случайным числам в Python.

Итак, как вы уже знаете, нам нужно сначала импортировать модуль random в Python, чтобы начать использовать метод randint(). Модуль по существу создает псевдослучайность.

Синтаксис метода randint()

По сути, метод randint() в Python возвращает случайное целочисленное значение между двумя нижними и верхними пределами (включая оба предела), предоставленными в виде двух параметров.

Следует отметить, что этот метод способен генерировать только случайное значение целочисленного типа. Взгляните на синтаксис, чтобы мы могли дополнительно включить метод.

#randint() Syntax
randint(lower limit , upper limit)

Здесь,

  • нижний предел – это начальная точка, из которой будет генерироваться случайное целое число, включая ее.
  • Верхний предел — это точка остановки, до которой метод будет возвращать случайное целое число.

Приведенный выше пример возвращает целое число N, где N>=beg и N<=end.

Он работает так же, как и randrange(beg,end), и, следовательно, является его псевдонимом.

Пример метода randint()

Давайте посмотрим на приведенный ниже код, он иллюстрирует использование и работу метода randint().

import random
beg=10
end=100
random_integer = random.randint(beg, end)
print("The random integer is :", random_integer)

Выход:

Как видно, метод randint() генерирует случайное целочисленное значение в пределах 1-100.

Является ли это значение случайным? Что происходит, когда мы вызываем метод несколько раз? Возвращает ли это то же значение?

Множественный вызов метода randint()

Фрагмент кода ниже отвечает на все вышеупомянутые вопросы и дает нам четкое понимание.

import random
beg=10
end=100
for i in range(5):
    print(random.randint(beg, end))

Выход:

Для приведенного выше кода повторение метода random.randint() дает нам разные случайные целые числа для каждого вызова в пределах от 10 до 100.

Следовательно, мы можем сделать вывод, что значения случайны для каждого вызова и не перекрываются в нашем случае. Кроме того, когда количество вызовов велико, а диапазон довольно мал, в этом случае сгенерированные случайные значения могут конфликтовать или перекрываться.

Как было сказано ранее, необходимо убедиться, что параметры верхнего и нижнего пределов должны быть целочисленного типа. Для других типов мы получаем ValueError, как показано ниже.

import random
beg=5.3
end=10.2
print(random.randint(beg, end))

Выход:

Traceback (most recent call last):
  File "C:/Users/sneha/Desktop/test.py", line 4, in <module>
    print(random.randint(beg, end))
  File "C:\Users\sneha\AppData\Local\Programs\Python\Python37-32\lib\random.py", line 222, in randint
    return self.randrange(a, b+1)
  File "C:\Users\sneha\AppData\Local\Programs\Python\Python37-32\lib\random.py", line 186, in randrange
    raise ValueError("non-integer arg 1 for randrange()")
ValueError: non-integer arg 1 for randrange()

Process finished with exit code 1

Заключение

Я надеюсь, что это краткое руководство по методу randint() в Python сделало эту функцию понятной для вас. Ваши отзывы всегда приветствуются через комментарии.

Рекомендации

  • https://docs.python.org/3/library/random.html
  • /community/tutorials/python-random-number
  • https://stackoverflow.com/questions/34865409/python-and-random-randint