[#] Линейные алгоритмы
vit01(mira, 1) — All
2015-12-04 04:13:28


Сгенерировать случайные целое и вещественное числа, символ в пределах
диапазонов, которые вводит пользователь.
В языке программирования 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