Решение модуля 10.3 Добрый, добрый Python

Модуль 10.3 Модуль random стандартной библиотеки.

Установите соответствия между названиями функций и их описанием.

Решение модуля 10.3 Добрый, добрый Python

 Вводятся два натуральных числа a, b (a < b) в одну строчку через пробел. Выполните генерацию вещественной случайной величины в диапазоне [a; b). Округлите результат до сотых и выведите его на экран.

import random
# установка "зерна" датчика случайных чисел, чтобы получались одни и те же случайные величины
random.seed(1)

a, b = map(int, input().split())

# генерация случайной величины
random_number = random.uniform(a, b)

# округление до сотых
rounded_number = round(random_number, 2)

# вывод на экран
print(rounded_number)

Вводятся два натуральных числа a, b (a < b) в одну строчку через пробел. Выполните генерацию целочисленной случайной величины в диапазоне [a; b]. Выведите результат на экран.

# импортируем модуль random
import random

# установка "зерна" датчика случайных чисел, чтобы получались одни и те же случайные величины
random.seed(1)

# считываем два натуральных числа a и b, разделенных пробелом, и преобразуем их в числа
a, b = list(map(int, input().split()))

# генерируем случайное целое число в диапазоне [a, b] с помощью функции randint() модуля random
random_num = random.randint(a, b)

# выводим на экран полученное случайное число
print(random_num)

Вводится список названий городов в одну строчку через пробел. Выберите из этого списка один город случайным образом и отобразите его на экране.

import random
# установка "зерна" датчика случайных чисел, чтобы получались одни и те же случайные величины
random.seed(1)

# список названий городов
cities = input().split()  
# выбор случайного города
city = random.choice(cities)  

# вывод на экран случайного города
print(city)  

 Вводится таблица целых чисел, записанных через пробел. Необходимо перемешать столбцы этой таблицы, используя функции shuffle и zip и вывести результат на экран (также в виде таблицы).

P. S. Для считывания списка целиком в программе уже записаны начальные строчки.

import sys
import random

# установка "зерна" датчика случайных чисел, чтобы получались одни и те же случайные величины
random.seed(1)

# считывание списка из входного потока
lst_in = list(map(str.strip, sys.stdin.readlines()))

# создание списка из столбцов таблицы
lst = list(zip(*map(str.split, lst_in)))

# перемешивание столбцов
random.shuffle(lst)

# вывод на экран перемешанной таблицы
for row in zip(*lst):
    print(*row)

Вводятся имена студентов в одну строчку через пробел. Требуется случайным образом выбрать трех студентов из этого списка, используя функцию sample. (Полагается, что в исходном списке более трех студентов). Результат вывести на экран в одну строчку через пробел.

import random

# установка "зерна" датчика случайных чисел, чтобы получались одни и те же случайные величины
random.seed(1)

# считывание списка из входного потока и разбиение его на отдельные элементы
a = input().split()

# выбор случайной подпоследовательности из списка
c = random.sample(a, 3)

# вывод элементов выбранной подпоследовательности на экран
print(*c)

Имеется двумерное игровое поле размером N x N (N — натуральное число, вводится с клавиатуры), представленное в виде вложенного списка:

P = [[0] * N for i in range(N)]

Требуется расставить в нем случайным образом M = 10 единиц (целочисленных) так, чтобы они не соприкасались друг с другом (то есть, вокруг каждой единицы должны быть нули, либо граница поля). 

P.S. Поле на экран выводить не нужно (вообще ничего не нужно выводить), только сформировать.

import random

# установка "зерна" датчика случайных чисел, чтобы получались одни и те же случайные величины
random.seed(1)

# начальная инициализация поля (переменные P и N не менять, единицы записывать в список P)
N = int(input())
P = [[0] * N for i in range(N)]

# заполнение поля единицами в произвольных местах
count = 0
while count < 10:
    # генерация случайной координаты ячейки
    j, i = (random.randint(0, N - 1) for _ in "ji")
    # проверка, что ячейка пустая и нет соседних единиц
    if not P[j][i]:
        in_touch = [P[y][x]
                    for y in range(j - 1, j + 2) if y in range(N)
                    for x in range(i - 1, i + 2) if x in range(N)]
        if not any(in_touch):
            P[j][i] = 1
            count += 1

Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы

Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

1 Комментарий
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Дмитрий
Дмитрий
1 год назад

Спасибо!

1
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x