Академия Eduson

Модули «random» и «string». Часть 1

 Модуль «random»

 Как называется алгоритм, лежащий в основе генерации псевдослучайных чисел в модуле random?

 Ответ:  вихрь Мерсенна

 Какая функция возвращает случайное целое число внутри заданного диапазона значений?

 Ответ:   randint()

 Какое число может быть в переменной num после выполнения следующего кода:

import random

num = random.randint(1, 118)

 Ответ:  50;  118;  1

 Какая функция возвращает случайное число с плавающей точкой в диапазоне [0.0; 1.0)?

 Ответ:  random()

 Какая функция возвращает случайное число с плавающей точкой внутри заданного диапазона значений?

 Ответ:  uniform()

 Какое число может быть в переменной num после выполнения следующего кода:

import random

num = random.randrange(115)

 Ответ:  114;  0;  50; 1

 Какое число может быть в переменной num после выполнения следующего кода:

import random

num = random.randrange(9, 81)

 Ответ:  80;  9;  52

 Какое число может быть в переменной num после выполнения следующего кода:

import random

num = random.randrange(15, 50, 5)

 Ответ:  45;  30;  15

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

 Ответ:  да

 Напишите программу, которая с помощью модуля random моделирует броски монеты. Программа принимает на вход количество попыток и выводит результаты бросков: Орел или Решка (каждое на отдельной строке).

import random

n = int(input())    # количество попыток

while n > 0:
    if random.randint(0, 1) == 1:
        print('Орел')
    else:
        print('Решка')
    n = n - 1    

 Напишите программу, которая с помощью модуля random моделирует броски игрального кубика c 6 гранями. Программа принимает на вход количество попыток и выводит результаты бросков — выпавшее число, которое написано на грани кубика (каждое на отдельной строке).

import random

n = int(input())    # количество попыток

for _ in range(n):
    print(random.randrange(1, 7))

 Напишите программу, которая с помощью модуля random генерирует случайный пароль. Программа принимает на вход длину пароля и выводит случайный пароль, содержащий только символы английского алфавита a..z, A..Z (в нижнем и верхнем регистре).

from random import randint

length = int(input())    # длина пароля

print(*[chr(randint(65, 90)) if randint(0, 1) else chr(randint(97, 122)) for _ in range(length)], sep='')

 Лотерейный билет содержит 7 чисел из диапазона от 1 до 49 (включительно). Напишите программу, которая с помощью модуля random генерирует 7 различных случайных чисел для лотерейного билета. Программа должна вывести числа в порядке возрастания на одной строке через один символ пробела.

import random

lot = 7

jackpot = []

while len(jackpot) != lot:
    x = random.randint(1, 49)
    if x not in jackpot:
        jackpot.append(x)

print(*sorted(jackpot))