7. В модуле random есть функция randint(a, b), генерирующая случайное целое число из отрезка [a; b]. Соответствующая программа имеет вид:
print(‘Функция randint’)
from random import randint
a = int(input (‘Введите a >>’))
b = int(input (‘Введите b>>’))
print(‘случайное целое число из отрезка
[‘, a, ‘; ‘, b, ‘]=’, randint(a, b))
Какие изменения следует внести в программу, чтобы получить случайное целое число из полуинтервала (a; b]? Как можно получить случайное целое число из интервала (a; b)?
Ответ
Для получения случайного целого числа из полуинтервала (a; b], следует внести следующие изменения в программу:
- Замените оператор импорта from random import randint на from random import randrange.
- Измените вызов функции randint(a, b) на randrange(a+1, b+1). Таким образом, генерируемое случайное число будет лежать в полуинтервале от a+1 до b.
Пример программы для получения случайного целого числа из полуинтервала (a; b]:
print(‘Функция randrange’)
from random import randrange
a = int(input(‘Введите a: ‘))
b = int(input(‘Введите b: ‘))
random_number = randrange(a + 1, b + 1)
print(‘Случайное целое число из полуинтервала (‘, a, ‘; ‘, b, ‘] =’, random_number)
Для получения случайного целого числа из интервала (a; b) можно использовать функцию randrange(a+1, b), где a и b — заданные границы интервала. Таким образом, генерируемое случайное число будет лежать в интервале от a+1 до b-1.
Пример программы для получения случайного целого числа из интервала (a; b):
print(‘Функция randrange’)
from random import randrange
a = int(input(‘Введите a: ‘))
b = int(input(‘Введите b: ‘))
random_number = randrange(a + 1, b)
print(‘Случайное целое число из интервала (‘, a, ‘; ‘, b, ‘) =’, random_number)
Обратите внимание, что для правильного использования функции randrange() требуется указывать левую границу интервала плюс один (a+1) для получения числа из полуинтервала или левая и правая границы плюс или минус один (a+1, b-1) для получения числа из интервала.