Случайные числа в заданных диапазонах

Сгенерировать случайные целое и вещественное числа, символ в пределах диапазонов, которые вводит пользователь.

В языке программирования Python в модуле random есть одноименная функция, которая генерирует вещественное число от 0 до 1. Если умножить полученное таким образом случайное число на длину диапазона, то получим число от 0 до конца длины диапазона. Если далее прибавить минимальную границу диапазона, то произойдет смещение и будет получено случайное число от минимальной границы до максимальной.

Отличие получения целого числа от вещественного заключается в том, что в первом случае, если максимальная граница входит в диапазон, то надо прибавить 1 к длине диапазона и после умножения преобразовать в целое, отбросив дробную часть.

Случайный символ получают по той же формуле, что и целое. Символы "преобразуют" к целым, получают случайное число и далее "преобразуют" его в символ.

from random import random
 
m1 = int(input())
m2 = int(input())
n = int(random() * (m2-m1+1)) + m1
print(n)
 
m1 = float(input())
m2 = float(input())
n = random() * (m2-m1) + m1
print(round(n,3))
 
m1 = ord(input())
m2 = ord(input())
n = int(random() * (m2-m1+1)) + m1
print(chr(n))

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

-10
10
8
0
1.1
0.892
h
t
s

Создано