You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

9.5 KiB

Лабораторная работа №2

Данная лабораторная является НЕОБЯЗАТЕЛЬНОЙ. Ее выполнение пойдет вам в плюс на сессии.

Предлагается решить 10 задач на закрепление синтаксиса и наработки навыка решения типовых задач, с которыми далее вы столкнетесь в том или ином виде.

Задача 1.

Дан список случайных целых чисел arr.

Реализуйте функцию, которая будет принимать список и возвращать кортеж состояющий из:

  1. Максимума

  2. Минимума

  3. Среднего

  4. Медианы

In [ ]:
import random
arr = random.sample(range(-100, 100), 50)
In [ ]:
def list_stat(arr):
    """
    Напишите здесь свой код
    """
    pass
In [18]:
print(list_stat(arr))
None

Задача 2.

Дан список из предыдущей задачи.

Создайте функцию, которая вернет отсортированный по убыванию список из которого удалены все ОТРИЦАТЕЛЬНЫЕ ЧЕТНЫЕ числа.

Подсказка: можно решить итеративно в лоб, добавляя в новый список требуемые элементы. Либо использовать filter(), про который можно прочесть в документации (потребуется посмотреть еще лямбда-функции).

In [26]:
# Введите здесь свое решение

Задача 3.

Дана строка.

Создайте функцию, которая вернет кортеж из количества уникальных слов и длины строки. Регистр не является признаком уникальности слова, т.е. Pump и pump равнозначны.

Подсказка: прочитайте про функцию split(). Обратите внимание, что нужно удалить все знаки припенания.

In [24]:
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.'
In [27]:
# Введите здесь свое решение

Задача 4

Дана строка из задачи выше.

Создайте функцию, которая считает количество упоминаний каждого слова и возвращает ответ в виде словаря. Выведите этот словарь.

In [37]:
# Введите здесь свое решение

Задача 5

Дана строка из задачи выше.

Напишите функцию, которая удаляет все слова начинающиеся на t (регистр не имеет значения) и возвращает полученную строку.

In [38]:
# Введите здесь свое решение

Задача 6

Дана строка из задачи выше.

Посчитайте количество глассных и согласных букв. Выведите результат.

In [39]:
# Введите здесь свое решение

Задача 7

Из приложенного файла lab_2.txt считать текст.

Посчитайте количество предложений в нем и выведите.

In [41]:
# Введите здесь свое решение

Задача 8

Заданы два вектора.

Напишите функцию которая принимает два списка, которая возвращает значение их скалярного произведения.

In [42]:
vec_1 = [0, 1, 15]
vec_2 = [2, 4, 3]
In [43]:
# Введите здесь свое решение

*Задача 9

Дан список состоящий из пар натуральных чисел и одного непарного числа. Найти это число и вывести.

Подсказка: можно и нужно использовать оператор XOR. Другие варианты тоже сойдут.

In [60]:
list_with_forever_alone = [2, 1, 3, 3, 1, 5, 2, 6, 9, 8, 8, 9, 2, 6, 5, 3, 2]
In [61]:
# Введите здесь свое решение

*Задача 10

Дан список натуральных чисел. Вывести все числа, являющиеся степенью двойки.

In [62]:
list_with_power_two = [24, 13, 25, 32, 17, 8, 2, 14, 0, 16, 1]
In [63]:
# Введите здесь свое решение
In [ ]: