diff --git a/1147/Lab_2.ipynb b/1147/Lab_2.ipynb new file mode 100644 index 0000000..ba2a34b --- /dev/null +++ b/1147/Lab_2.ipynb @@ -0,0 +1,358 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "70a20d37", + "metadata": {}, + "source": [ + "# Лабораторная работа №2\n", + "\n", + "Данная лабораторная является НЕОБЯЗАТЕЛЬНОЙ. Ее выполнение пойдет вам в плюс на сессии." + ] + }, + { + "cell_type": "markdown", + "id": "d757bc60", + "metadata": {}, + "source": [ + "Предлагается решить 10 задач на закрепление синтаксиса и наработки навыка решения типовых задач, с которыми далее вы столкнетесь в том или ином виде." + ] + }, + { + "cell_type": "markdown", + "id": "58100ed1", + "metadata": {}, + "source": [ + "### Задача 1.\n", + "\n", + "Дан список случайных целых чисел arr. \n", + "\n", + "Реализуйте функцию, которая будет принимать список и возвращать кортеж состояющий из:\n", + "1) Максимума\n", + "\n", + "2) Минимума\n", + "\n", + "3) Среднего\n", + "\n", + "4) Медианы\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "73884582", + "metadata": {}, + "outputs": [], + "source": [ + "import random\n", + "arr = random.sample(range(-100, 100), 50)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2bdf05f1", + "metadata": {}, + "outputs": [], + "source": [ + "def list_stat(arr):\n", + " \"\"\"\n", + " Напишите здесь свой код\n", + " \"\"\"\n", + " pass" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "82749c0a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "None\n" + ] + } + ], + "source": [ + "print(list_stat(arr))" + ] + }, + { + "cell_type": "markdown", + "id": "8dcc297d", + "metadata": {}, + "source": [ + "### Задача 2.\n", + "\n", + "Дан список из предыдущей задачи.\n", + "\n", + "Создайте функцию, которая вернет отсортированный по убыванию список из которого удалены все ОТРИЦАТЕЛЬНЫЕ ЧЕТНЫЕ числа.\n", + "\n", + "Подсказка: можно решить итеративно в лоб, добавляя в новый список требуемые элементы. Либо использовать filter(), про который можно прочесть в документации (потребуется посмотреть еще лямбда-функции)." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "eada7f6d", + "metadata": {}, + "outputs": [], + "source": [ + "# Введите здесь свое решение" + ] + }, + { + "cell_type": "markdown", + "id": "d00b2c0e", + "metadata": {}, + "source": [ + "### Задача 3.\n", + "\n", + "Дана строка. \n", + "\n", + "Создайте функцию, которая вернет кортеж из количества уникальных слов и длины строки. Регистр не является признаком уникальности слова, т.е. Pump и pump равнозначны. \n", + "\n", + "Подсказка: прочитайте про функцию split(). Обратите внимание, что нужно удалить все знаки припенания." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "b438bac9", + "metadata": {}, + "outputs": [], + "source": [ + "s = 'On the other hand, we denounce with righteous indignation and \\\n", + "dislike men who are so beguiled and demoralized by the charms of \\\n", + "pleasure of the moment, so blinded by desire, that they cannot \\\n", + "foresee the pain and trouble that are bound to ensue; and equal \\\n", + "blame belongs to those who fail in their duty through weakness of will, \\\n", + "which is the same as saying through shrinking from toil and pain.'\n" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "761bc35c", + "metadata": {}, + "outputs": [], + "source": [ + "# Введите здесь свое решение" + ] + }, + { + "cell_type": "markdown", + "id": "1f412e93", + "metadata": {}, + "source": [ + "### Задача 4\n", + "\n", + "Дана строка из задачи выше.\n", + "\n", + "Создайте функцию, которая считает количество упоминаний каждого слова и возвращает ответ в виде словаря.\n", + "Выведите этот словарь. " + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "120a8592", + "metadata": {}, + "outputs": [], + "source": [ + "# Введите здесь свое решение" + ] + }, + { + "cell_type": "markdown", + "id": "c5fdf1e0", + "metadata": {}, + "source": [ + "### Задача 5\n", + "\n", + "Дана строка из задачи выше.\n", + "\n", + "Напишите функцию, которая удаляет все слова начинающиеся на t (регистр не имеет значения) и возвращает полученную строку." + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "e37dadf6", + "metadata": {}, + "outputs": [], + "source": [ + "# Введите здесь свое решение" + ] + }, + { + "cell_type": "markdown", + "id": "1a6dd5d2", + "metadata": {}, + "source": [ + "### Задача 6\n", + "\n", + "Дана строка из задачи выше.\n", + "\n", + "Посчитайте количество глассных и согласных букв. Выведите результат." + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "c53467dc", + "metadata": {}, + "outputs": [], + "source": [ + "# Введите здесь свое решение" + ] + }, + { + "cell_type": "markdown", + "id": "0fb06cef", + "metadata": {}, + "source": [ + "### Задача 7\n", + "Из приложенного файла lab_2.txt считать текст. \n", + "\n", + "Посчитайте количество предложений в нем и выведите." + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "1993a351", + "metadata": {}, + "outputs": [], + "source": [ + "# Введите здесь свое решение" + ] + }, + { + "cell_type": "markdown", + "id": "ab52fde5", + "metadata": {}, + "source": [ + "### Задача 8\n", + "Заданы два вектора.\n", + "\n", + "Напишите функцию которая принимает два списка, которая возвращает значение их скалярного произведения." + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "1ecb0506", + "metadata": {}, + "outputs": [], + "source": [ + "vec_1 = [0, 1, 15]\n", + "vec_2 = [2, 4, 3]" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "23d6cfb2", + "metadata": {}, + "outputs": [], + "source": [ + "# Введите здесь свое решение" + ] + }, + { + "cell_type": "markdown", + "id": "b98c42a0", + "metadata": {}, + "source": [ + "### *Задача 9\n", + "\n", + "Дан список состоящий из пар натуральных чисел и одного непарного числа. Найти это число и вывести.\n", + "\n", + "Подсказка: можно и нужно использовать оператор XOR. Другие варианты тоже сойдут." + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "a6484592", + "metadata": {}, + "outputs": [], + "source": [ + "list_with_forever_alone = [2, 1, 3, 3, 1, 5, 2, 6, 9, 8, 8, 9, 2, 6, 5, 3, 2]" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "dc8bf703", + "metadata": {}, + "outputs": [], + "source": [ + "# Введите здесь свое решение" + ] + }, + { + "cell_type": "markdown", + "id": "58c7a367", + "metadata": {}, + "source": [ + "### *Задача 10\n", + "\n", + "Дан список натуральных чисел. Вывести все числа, являющиеся степенью двойки." + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "id": "9adc83bd", + "metadata": {}, + "outputs": [], + "source": [ + "list_with_power_two = [24, 13, 25, 32, 17, 8, 2, 14, 0, 16, 1]" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "c69960d9", + "metadata": {}, + "outputs": [], + "source": [ + "# Введите здесь свое решение" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3b9350d5", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/1147/lab_2.txt b/1147/lab_2.txt new file mode 100644 index 0000000..946d21a --- /dev/null +++ b/1147/lab_2.txt @@ -0,0 +1,9 @@ +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam dapibus rhoncus nisl nec ultrices. Morbi leo odio, volutpat at tempor sed, vestibulum vel neque. Cras vitae rhoncus velit. Integer nulla dui, tincidunt eu quam vel, semper vestibulum dui. Etiam rhoncus sit amet ante et aliquam. Phasellus eget tristique libero, nec gravida ligula. Vivamus id ante ante. Nunc tincidunt dapibus viverra. Donec eget sagittis orci, sit amet efficitur lacus. Curabitur ac vehicula risus. Nam laoreet purus in mi aliquet pharetra. + +Donec turpis ante, cursus in ligula laoreet, ornare porttitor urna. Curabitur vitae erat at neque gravida sodales. Nullam sed odio vel nunc rhoncus tempor ac finibus nisi. Aliquam accumsan dolor sed ex tempor, eget tristique risus feugiat. Etiam consequat quam a metus sollicitudin, quis elementum turpis cursus. Maecenas lorem tellus, lacinia sit amet lectus quis, sollicitudin suscipit ex. Morbi a bibendum justo. Ut euismod egestas arcu, pharetra pharetra leo vehicula non. + +Duis varius, nunc non aliquet placerat, leo ante lacinia ante, vitae condimentum felis augue non nisi. Nam sed ipsum sollicitudin, gravida eros eu, malesuada tellus. Sed elementum bibendum fermentum. Nulla euismod leo at lectus consectetur, maximus vulputate felis sollicitudin. Morbi ultrices tellus nec dui ullamcorper sollicitudin. Pellentesque ut mauris odio. Aliquam tellus dolor, cursus vel quam a, efficitur ullamcorper purus. + +Duis vel dui at dolor fermentum cursus non sed libero. Suspendisse gravida in tortor sed pellentesque. Praesent bibendum eleifend dolor non accumsan. Donec semper ultrices congue. Proin vulputate purus vel justo tincidunt gravida. Morbi tempor augue ut libero hendrerit sollicitudin. Phasellus ultrices quis orci interdum vehicula. Ut purus arcu, ultricies eu tortor sit amet, condimentum vestibulum massa. Sed in diam eu lacus aliquet gravida. Mauris a fermentum massa. Fusce blandit mauris at mi cursus tincidunt. Vivamus posuere, mauris sit amet suscipit fringilla, nisi sem convallis lectus, ac elementum ipsum risus vel tortor. Pellentesque ut orci lacinia, iaculis velit a, varius augue. Nunc eget tellus eu eros bibendum porttitor. Nunc consectetur justo sapien, eu tincidunt sapien tempor non. In scelerisque ullamcorper tortor, non tincidunt nulla ullamcorper vel. + +Mauris luctus purus nec blandit porta. Pellentesque vehicula urna a nulla rhoncus, vel elementum mauris sollicitudin. Nulla posuere nisi quis nulla consectetur, non consequat leo dapibus. Aliquam erat volutpat. Vivamus ac sem eget nisi congue blandit vitae molestie felis. Aliquam vulputate varius mauris, ut pellentesque massa consectetur sed. Vestibulum tincidunt pretium augue, a pretium ante efficitur nec. Curabitur bibendum, dolor nec gravida malesuada, neque massa vehicula dui, sit amet tempor massa nunc nec augue. Aliquam vestibulum ut nisi porttitor aliquet. Donec sit amet lectus vitae ligula maximus rhoncus eget quis nisl. Donec accumsan ligula ac volutpat suscipit. Phasellus sit amet libero at nibh posuere auctor vel non quam. Donec aliquet tortor arcu, nec lacinia tortor elementum eleifend. Aliquam erat volutpat. \ No newline at end of file