Случайное целое в заданных границах (Python)

С клавиатуры вводятся границы числового диапазона. Получите случайное целое число в его пределах и выведите его на экран.

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

from random import randint

a = input("Нижняя граница: ")
b = input("Верхняя граница: ")

a = int(a)
b = int(b)

n = randint(a, b)

print(n)

Пример выполнения:

Нижняя граница: 10
Верхняя граница: 20
13

Передаваемые в функцию randint() числа входяn в диапазон. На языке математики это
описывается как [a, b]. Если надо, чтобы верхняя граница не входила – [a, b), то из b надо
вычесть 1 или воспользоваться функций randrange() из того же модуля.

from random import randrange
...
n = randrange(a, b)

Также данную задачу можно решить более сложным, но более универсальным способом, так как
не в каждом языке есть несколько специализированных функции для получения тех или иных
случайных значений. В модуле random есть одноименная функция random(), генерирующая
случайное вещественное число от 0 до 1. Единица в диапазон не входит.
Если это число умножить на длину диапазона (b — a), результат привести к целому и прибавить
нижнюю границу, мы получим число в диапазоне [a, b).

from random import random
...
n = int(random() * (b - a)) + a
import random

a = input("Нижняя граница: ")
b = input("Верхняя граница: ")

a = int(a)
b = int(b)

# диапазон [a, b]
n = random.randint(a, b)

# диапазон [a, b)
# n = random.randrange(a, b)

# диапазон [a, b)
# n = int(random.random() * (b - a)) + a

print(n)

Оцените статью
( 1 оценка, среднее 1 из 5 )