Номер §5.3 № 7

ГДЗ по информатике 8 класс, Босова 2023, страница 231

§. № Случайные целые числа

В модуле random есть функция randint(a, b), генерирующая случайное целое число из отрезка [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)(a; b)?

Решение

Функция randint(u, v) может вернуть оба целых конца отрезка. Чтобы исключить левый конец a, наименьшим допустимым аргументом должно стать следующее целое число a + . Правый конец b сохраняется, значит, для вызываем randint(a + , b).

Чтобы исключить ещё и правый конец b, последним допустимым целым числом будет b - . Для вызываем randint(a + , b - ). Соответственно надо изменить и подпись выводимого промежутка.

from random import randint

a = int(input('Введите a >>'))
b = int(input('Введите b >>'))
print('Число из (a; b]:', randint(a + , b))
print('Число из (a; b):', randint(a + , b - ))

Первый вызов возможен при , а второй — при , то есть когда между границами есть хотя бы одно целое число. Например, при a = , b = первый вызов выбирает из , , , а второй — из , .

Ответ

Для — randint(a + , b); для — randint(a + , b - ).

Помогло?

Нет твоего задания?Сфоткай, и ДЗмэн решит за пару секунд.

Решить по фото