9.5 KiB
Лабораторная работа №2¶
Данная лабораторная является НЕОБЯЗАТЕЛЬНОЙ. Ее выполнение пойдет вам в плюс на сессии.
Предлагается решить 10 задач на закрепление синтаксиса и наработки навыка решения типовых задач, с которыми далее вы столкнетесь в том или ином виде.
Задача 1.¶
Дан список случайных целых чисел arr.
Реализуйте функцию, которая будет принимать список и возвращать кортеж состояющий из:
Максимума
Минимума
Среднего
Медианы
import random arr = random.sample(range(-100, 100), 50)
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]
# Введите здесь свое решение