diff --git a/1147/Lab_2.ipynb b/1147/Lab_2.ipynb new file mode 100644 index 0000000..23af736 --- /dev/null +++ b/1147/Lab_2.ipynb @@ -0,0 +1,375 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "70a20d37", + "metadata": {}, + "source": [ + "# Лабораторная работа №2\n" + ] + }, + { + "cell_type": "markdown", + "id": "d757bc60", + "metadata": {}, + "source": [ + "Предлагается решить 10 задач на закрепление синтаксиса и наработки навыка решения типовых задач, с которыми далее вы столкнетесь в том или ином виде.\n", + "\n", + "Напоминаю: гуглить - залог успеха." + ] + }, + { + "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": 2, + "id": "73884582", + "metadata": {}, + "outputs": [], + "source": [ + "# Здесь ничего менять не надо, это исходные данные с которыми будете работать\n", + "import random\n", + "\n", + "# в arr будет записан список из 50 случайных целых чисел в диапазоне от -100 до 100\n", + "arr = random.sample(range(-100, 100), 50)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "ae2484b8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[-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]\n" + ] + } + ], + "source": [ + "# Убедимся в этом\n", + "print(arr)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "2bdf05f1", + "metadata": {}, + "outputs": [], + "source": [ + "# в данной функции реализуйте нахождение максимума, минимума, среднего и медианы. Вернуть их в любом порядке. \n", + "# Слова max, min, mean являются КЛЮЧЕВЫМИ не именуйте так свои переменные!\n", + "\n", + "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": [ + "# Введите здесь свое решение" + ] + } + ], + "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 +}