11 KiB
Лабораторная работа №2¶
Предлагается решить 10 задач на закрепление синтаксиса и наработки навыка решения типовых задач, с которыми далее вы столкнетесь в том или ином виде.
Напоминаю: гуглить - залог успеха.
Задача 1.¶
Дан список случайных целых чисел arr.
Реализуйте функцию, которая будет принимать список и возвращать кортеж состояющий из:
Максимума
Минимума
Среднего
Медианы
# Здесь ничего менять не надо, это исходные данные с которыми будете работать import random # в arr будет записан список из 50 случайных целых чисел в диапазоне от -100 до 100 arr = random.sample(range(-100, 100), 50)
# Убедимся в этом print(arr)
[-39, -27, -6, -80, -63, 85, 80, 20, 48, 59, 76, 77, -23, 58, 49, 84, -14, -90, -61, 69, -15, -3, -89, -74, 93, 40, -54, -75, 4, 6, -57, -1, -8, 61, 31, -91, 35, -100, -73, -51, 28, 63, 16, 45, -19, 54, 27, -11, -5, -40]
# в данной функции реализуйте нахождение максимума, минимума, среднего и медианы. Вернуть их в любом порядке. # Слова max, min, mean являются КЛЮЧЕВЫМИ не именуйте так свои переменные! def list_stat(arr): """ Напишите здесь свой код """ pass
print(list_stat(arr))
None
Задача 2.¶
Дан список из предыдущей задачи.
Создайте функцию, которая принимает список и возвращает отсортированный по убыванию список из которого удалены все ОТРИЦАТЕЛЬНЫЕ ЧЕТНЫЕ числа.
Подсказка: можно решить итеративно в лоб, добавляя в новый список требуемые элементы. Либо использовать filter(), про который можно прочесть в документации (потребуется посмотреть еще лямбда-функции).
# Введите здесь свое решение
Задача 3.¶
Дана строка.
Создайте функцию, которая принимает строку и возвращает кортеж из количества уникальных слов и длины строки. Регистр не является признаком уникальности слова, т.е. Pump и pump равнозначны.
Подсказка: прочитайте про функцию split(). Обратите внимание, что нужно удалить все знаки препинания.
s = 'On the other hand, we denounce with righteous indignation and \ dislike men who are so beguiled and demoralized by the charms of \ pleasure of the moment, so blinded by desire, that they cannot \ foresee the pain and trouble that are bound to ensue; and equal \ blame belongs to those who fail in their duty through weakness of will, \ which is the same as saying through shrinking from toil and pain.'
# Введите здесь свое решение
Задача 4¶
Дана строка из задачи выше.
Создайте функцию, которая принимает строку и считает количество упоминаний каждого слова и возвращает ответ в виде словаря. Выведите этот словарь.
# Введите здесь свое решение
Задача 5¶
Дана строка из задачи выше.
Создайте функцию, которая принимает строку и удаляет все слова начинающиеся на t (регистр не имеет значения) и возвращает полученную строку.
# Введите здесь свое решение
Задача 6¶
Дана строка из задачи выше.
Посчитайте количество глассных и согласных букв. Выведите результат.
# Введите здесь свое решение
Задача 7¶
Из приложенного файла lab_2.txt считать текст.
Посчитайте количество предложений в нем и выведите.
# Введите здесь свое решение
Задача 8¶
Заданы два вектора.
Напишите функцию которая принимает два списка и возвращает значение их скалярного произведения.
vec_1 = [0, 1, 15] vec_2 = [2, 4, 3]
# Введите здесь свое решение
*Задача 9¶
Дан список состоящий из пар натуральных чисел и одного непарного числа. Найти это число и вывести.
Подсказка: можно и нужно использовать оператор XOR. Другие варианты тоже сойдут.
list_with_forever_alone = [2, 1, 3, 3, 1, 5, 2, 6, 9, 8, 8, 9, 2, 6, 5, 3, 2]
# Введите здесь свое решение
*Задача 10¶
Дан список натуральных чисел. Вывести все числа, являющиеся степенью двойки.
list_with_power_two = [24, 13, 25, 32, 17, 8, 2, 14, 0, 16, 1]
# Введите здесь свое решение