From c8f85d42dd9a17ce89770033fe5a9bc94d565178 Mon Sep 17 00:00:00 2001 From: Dmitry Medvedev Date: Sun, 27 Sep 2026 00:54:55 +0500 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=B5=D1=89=D0=B5=20=D0=94=D0=97=20=D0=BF=D0=B0=D0=B9=D1=82?= =?UTF-8?q?=D0=BE=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../python/10.structure_of_data_dict.ipynb | 339 +++++++++++++++ dmedvedev/python/4.conditional_operator.ipynb | 385 ++++++++++++++++++ dmedvedev/python/5.logic_operators.ipynb | 201 +++++++++ dmedvedev/python/6.cycles_while.ipynb | 323 +++++++++++++++ dmedvedev/python/7.cycles_for.ipynb | 314 ++++++++++++++ .../python/8.structure_of_data_string.ipynb | 347 ++++++++++++++++ .../python/9.structure_of_data_list.ipynb | 358 ++++++++++++++++ 7 files changed, 2267 insertions(+) create mode 100644 dmedvedev/python/10.structure_of_data_dict.ipynb create mode 100644 dmedvedev/python/4.conditional_operator.ipynb create mode 100644 dmedvedev/python/5.logic_operators.ipynb create mode 100644 dmedvedev/python/6.cycles_while.ipynb create mode 100644 dmedvedev/python/7.cycles_for.ipynb create mode 100644 dmedvedev/python/8.structure_of_data_string.ipynb create mode 100644 dmedvedev/python/9.structure_of_data_list.ipynb diff --git a/dmedvedev/python/10.structure_of_data_dict.ipynb b/dmedvedev/python/10.structure_of_data_dict.ipynb new file mode 100644 index 0000000..ff53107 --- /dev/null +++ b/dmedvedev/python/10.structure_of_data_dict.ipynb @@ -0,0 +1,339 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a1cc2906", + "metadata": {}, + "source": [ + "- Задача 1. Описание файла\n", + " \n", + " Создай словарь `file_info`, в котором будут:\n", + " \n", + " - имя файла;\n", + " - формат;\n", + " - размер.\n", + " \n", + " Выведи:\n", + " \n", + " - весь словарь;\n", + " - отдельно имя файла;\n", + " - отдельно формат." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "659422a3", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'name_file': '123.py', 'format': 'py', 'size': '128kB'}\n", + "123.py\n", + "\n" + ] + } + ], + "source": [ + "file_info = {'name_file':'123.py', 'format':'py', 'size':'128kB'}\n", + "print(file_info)\n", + "print(file_info['name_file'])\n", + "print(type(file_info))" + ] + }, + { + "cell_type": "markdown", + "id": "fbabd675", + "metadata": {}, + "source": [ + "- Задача 2. Обновление данных о таблице\n", + " \n", + " Создай словарь с данными о таблице:\n", + " \n", + " - `name`\n", + " - `rows`\n", + " - `source`\n", + " \n", + " Потом:\n", + " \n", + " - измени количество строк;\n", + " - выведи словарь до изменения;\n", + " - выведи словарь после изменения." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "c5f7bc4f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'name': '123', 'rows': 122, 'source': '123.csv'}\n", + "{'name': '123', 'rows': 123, 'source': '123.csv'}\n" + ] + } + ], + "source": [ + "dict = {'name':'123', 'rows':122, 'source':'123.csv'}\n", + "print(dict)\n", + "dict['rows'] = 123\n", + "print(dict)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "ccdc112d", + "metadata": {}, + "source": [ + "- Задача 3. Добавь новые метаданные\n", + " \n", + " Создай словарь с двумя ключами:\n", + " \n", + " - `table_name`\n", + " - `rows_count`\n", + " \n", + " Потом добавь:\n", + " \n", + " - `file_format`\n", + " - `load_date`\n", + " \n", + " Выведи итоговый словарь." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "a6ca1f4f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'table_name': '123', 'rows_count': 24, 'file_format': 'csv', 'load_date': '12-12-2024'}\n" + ] + } + ], + "source": [ + "dict = {'table_name':'123', 'rows_count':24}\n", + "dict['file_format'] = 'csv'\n", + "dict['load_date'] = '12-12-2024'\n", + "print(dict)" + ] + }, + { + "cell_type": "markdown", + "id": "8cf5540f", + "metadata": {}, + "source": [ + "- Задача 4. Удали лишние поля\n", + " \n", + " Создай словарь с 4 ключами, например с метаданными файла или таблицы.\n", + " \n", + " Потом:\n", + " \n", + " - удали один ключ через `del`;\n", + " - удали другой ключ через `pop()`;\n", + " - выведи словарь после каждого удаления." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "11d837f9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'file_format': 'csv', 'load_date': '12-12-2024'}\n" + ] + } + ], + "source": [ + "dict = {'table_name':'123', 'rows_count':24, 'file_format':'csv', 'load_date':'12-12-2024'}\n", + "del dict['table_name']\n", + "dict.pop('rows_count')\n", + "print(dict)" + ] + }, + { + "cell_type": "markdown", + "id": "11a31707", + "metadata": {}, + "source": [ + "- Задача 5. Проверь ключ в схеме\n", + " \n", + " Создай словарь с описанием записи, например:\n", + " \n", + " - `id`\n", + " - `name`\n", + " - `city`\n", + " \n", + " Проверь:\n", + " \n", + " - есть ли ключ `\"name\"`;\n", + " - есть ли ключ `\"email\"`.\n", + " \n", + " Выведи результат каждой проверки." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "af86882d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dimasta\n", + "None\n" + ] + } + ], + "source": [ + "dict = {'id':123, 'name':'dimasta', 'city':'ufa'}\n", + "print(dict.get('name'))\n", + "print(dict.get('email'))" + ] + }, + { + "cell_type": "markdown", + "id": "68232ebc", + "metadata": {}, + "source": [ + "- Задача 6. Перебор словаря с метаданными\n", + " \n", + " Создай словарь с данными о датасете:\n", + " \n", + " - имя;\n", + " - формат;\n", + " - количество строк.\n", + " \n", + " С помощью цикла:\n", + " \n", + " - выведи все ключи;\n", + " - выведи все значения;\n", + " - выведи пары ключ-значение." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "9f3a514a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "name\n", + "format\n", + "rows_count\n", + "dimasta\n", + "csv\n", + "123\n", + "name dimasta\n", + "format csv\n", + "rows_count 123\n" + ] + } + ], + "source": [ + "dict = {'name':'dimasta', 'format':'csv', 'rows_count':123}\n", + "for key in dict:\n", + " print(key)\n", + "for value in dict.values():\n", + " print(value)\n", + "for key,value in dict.items():\n", + " print(key, value)" + ] + }, + { + "cell_type": "markdown", + "id": "53b175f5", + "metadata": {}, + "source": [ + "- Задача 7. Мини-метаданные из ввода\n", + " \n", + " Сделай программу, которая спрашивает у пользователя:\n", + " \n", + " - имя файла;\n", + " - формат файла;\n", + " - количество строк;\n", + " - источник данных.\n", + " \n", + " Сохрани всё в словарь.\n", + " \n", + " После этого выведи:\n", + " \n", + " - весь словарь;\n", + " - отдельно имя файла;\n", + " - отдельно источник;\n", + " - все пары ключ-значение через цикл." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "7494cee0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'name': '123', 'format': '123', 'rows_count': 123, 'source': '123'}\n", + "123\n", + "123\n", + "name 123\n", + "format 123\n", + "rows_count 123\n", + "source 123\n" + ] + } + ], + "source": [ + "dict['name'] = input('vvedite nazvanie faila')\n", + "dict['format'] = input('vvedite nazvanie formata')\n", + "dict['rows_count'] = int(input('vvedite koli4estvo strok'))\n", + "dict['source'] = input('vvedite isto4nik data')\n", + "print(dict)\n", + "print(dict['name'])\n", + "print(dict['source'])\n", + "for key, value in dict.items():\n", + " print(key, value)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.13.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/dmedvedev/python/4.conditional_operator.ipynb b/dmedvedev/python/4.conditional_operator.ipynb new file mode 100644 index 0000000..34d5873 --- /dev/null +++ b/dmedvedev/python/4.conditional_operator.ipynb @@ -0,0 +1,385 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "7fd1e5d6", + "metadata": {}, + "source": [ + "- Задача 1. Положительное или нет\n", + " \n", + " Спроси у пользователя число.\n", + " \n", + " Если число больше 0, выведи:`Число положительное` \n", + " \n", + " Если число меньше или равно 0, выведи:`Число не положительное`\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать `input()`;\n", + " - преобразовать ввод в число;\n", + " - использовать `if else`." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "5247fb51", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Число не положительное\n" + ] + } + ], + "source": [ + "number = float(input('Введите любое число'))\n", + "if number > 0:\n", + " print('Число положительное')\n", + "else:\n", + " print('Число не положительное')\n" + ] + }, + { + "cell_type": "markdown", + "id": "78ace526", + "metadata": {}, + "source": [ + "- Задача 2. Совершеннолетие\n", + " \n", + " Спроси у пользователя возраст.\n", + " \n", + " Если возраст 18 или больше, выведи:`Доступ разрешен`\n", + " \n", + " Иначе выведи:`Доступ запрещен`\n", + " \n", + " **Требования:**\n", + " \n", + " - возраст должен вводить пользователь;\n", + " - использовать `int()`;\n", + " - использовать `if else`." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "b4a40fbf", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Доступ разрешен\n" + ] + } + ], + "source": [ + "age = int(input('Сколько вам лет?'))\n", + "if age >= 18:\n", + " print('Доступ разрешен')\n", + "else:\n", + " print('Доступ запрещен')" + ] + }, + { + "cell_type": "markdown", + "id": "b9fe6302", + "metadata": {}, + "source": [ + "- Задача 3. Четное или нечетное\n", + " \n", + " Спроси у пользователя целое число.\n", + " \n", + " Если число четное, выведи:`Четное число`\n", + " \n", + " Иначе выведи:`Нечетное число`\n", + " \n", + " - **Подсказка:**\n", + " \n", + " используй остаток от деления `%`." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "102b96d6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Четное число\n" + ] + } + ], + "source": [ + "number = int(input('Введите целое число'))\n", + "if number % 2 == 0:\n", + " print('Четное число')\n", + "else:\n", + " print('Нечетное число')" + ] + }, + { + "cell_type": "markdown", + "id": "fae1184f", + "metadata": {}, + "source": [ + "- Задача 4. Сравнение двух чисел\n", + " \n", + " Спроси у пользователя два числа.\n", + " \n", + " Нужно:\n", + " \n", + " - если первое число больше второго, вывести: `Первое число больше`;\n", + " - если второе больше первого, вывести: `Второе число больше`;\n", + " - если числа равны, вывести: `Числа равны`.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать `if / elif / else`;\n", + " - оба числа должны вводиться пользователем." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "9c2c05da", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Числа равны\n" + ] + } + ], + "source": [ + "num_1 = float(input('Введите первое число'))\n", + "num_2 = float(input('Введите второе число'))\n", + "if num_1 > num_2:\n", + " print('Первое число больше')\n", + "elif num_1 < num_2:\n", + " print('Второе число больше')\n", + "else:\n", + " print('Числа равны')\n" + ] + }, + { + "cell_type": "markdown", + "id": "dad86a33", + "metadata": {}, + "source": [ + "- Задача 5. Оценка по баллам\n", + " \n", + " Спроси у пользователя число баллов.\n", + " \n", + " Нужно вывести:\n", + " \n", + " - `Отлично`, если балл 90 и выше;\n", + " - `Хорошо`, если балл от 70 до 89;\n", + " - `Удовлетворительно`, если балл от 50 до 69;\n", + " - `Нужно подтянуться`, если меньше 50.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать `if / elif / else`;\n", + " - балл вводится пользователем;\n", + " - сначала преобразовать ввод в число." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "bdc1c63e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Хорошо\n" + ] + } + ], + "source": [ + "grade = int(input('Скажи сколько у тебя баллов'))\n", + "if grade >= 90:\n", + " print('Отлично')\n", + "elif grade >= 70 and grade < 90:\n", + " print('Хорошо')\n", + "elif grade < 50:\n", + " print('Нужно подтянуться')\n", + "else: \n", + " print('Удовлетворительно')" + ] + }, + { + "cell_type": "markdown", + "id": "a9091d3f", + "metadata": {}, + "source": [ + "- Задача 6. Пароль\n", + " \n", + " Заранее создай переменную с правильным паролем, например `\"python123\"`.\n", + " \n", + " Потом спроси пароль у пользователя.\n", + " \n", + " Если пароль совпадает с правильным, выведи:`Пароль верный`\n", + " \n", + " Иначе выведи:`Пароль неверный`\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать строку;\n", + " - сравнивать введенное значение с переменной;\n", + " - использовать `if else`." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "32c630cc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Пароль верный\n" + ] + } + ], + "source": [ + "right_pass = 'python123'\n", + "pass_from_user = input('Введите верный пароль')\n", + "if pass_from_user == right_pass:\n", + " print('Пароль верный')\n", + "else:\n", + " print('Пароль неверный')" + ] + }, + { + "cell_type": "markdown", + "id": "5179a630", + "metadata": {}, + "source": [ + "- Задача 7. Мини-проверка возраста и имени\n", + " \n", + " Спроси у пользователя:\n", + " \n", + " - имя;\n", + " - возраст.\n", + " \n", + " Нужно:\n", + " \n", + " - если возраст меньше 18, вывести: `Привет, <имя>. Тебе пока нет 18`;\n", + " - иначе вывести: `Привет, <имя>. Доступ разрешен`.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать и строку, и число;\n", + " - возраст преобразовать в `int`;\n", + " - в выводе использовать имя пользователя." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "522fa808", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Привет, 20. Доступ разрешен\n" + ] + } + ], + "source": [ + "name = input('Как тебя зовут?')\n", + "age = int(input('Назовите свой возраст'))\n", + "if age < 18:\n", + " print(f'Привет, {name}. Тебе пока нет 18')\n", + "else:\n", + " print(f'Привет, {name}. Доступ разрешен')\n" + ] + }, + { + "cell_type": "markdown", + "id": "38ab0028", + "metadata": {}, + "source": [ + "- Задача 8. Небольшое меню действий\n", + " \n", + " Спроси у пользователя число от 1 до 3.\n", + " \n", + " Выведи:\n", + " \n", + " - `Ты выбрал старт`, если введено `1`;\n", + " - `Ты выбрал настройки`, если введено `2`;\n", + " - `Ты выбрал выход`, если введено `3`;\n", + " - `Неизвестная команда`, если введено что-то другое.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать `if / elif / else`;\n", + " - выбор должен вводить пользователь;\n", + " - сначала преобразовать ввод в число." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "4fda486e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ты выбрал выход\n" + ] + } + ], + "source": [ + "num = int(input('Введи целое число от 1 до 3'))\n", + "if num == 1:\n", + " print('Ты выбрал старт')\n", + "elif num == 2:\n", + " print('Ты выбрал настройки')\n", + "elif num == 3:\n", + " print('Ты выбрал выход')\n", + "else:\n", + " print('Неизвестная команда')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.13.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/dmedvedev/python/5.logic_operators.ipynb b/dmedvedev/python/5.logic_operators.ipynb new file mode 100644 index 0000000..2efeff7 --- /dev/null +++ b/dmedvedev/python/5.logic_operators.ipynb @@ -0,0 +1,201 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0cb44a4f", + "metadata": {}, + "source": [ + "- Задача 1. Подходит ли возраст\n", + " \n", + " Спроси у пользователя возраст.\n", + " \n", + " Нужно проверить, входит ли возраст в диапазон **от 12 до 18 включительно**.\n", + " \n", + " Если входит, выведи:`Возраст подходит`\n", + " \n", + " Иначе выведи:`Возраст не подходит`\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать `and`;\n", + " - возраст вводится пользователем;\n", + " - ввод нужно преобразовать в число." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "2284f3cc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Возраст подходит\n" + ] + } + ], + "source": [ + "age = int(input('Сколько вам лет?'))\n", + "if age >= 12 and age <= 18:\n", + " print('Возраст подходит')\n", + "else:\n", + " print('Возраст не подходит')\n" + ] + }, + { + "cell_type": "markdown", + "id": "c10f2e18", + "metadata": {}, + "source": [ + "- Задача 2. Выходной или нет\n", + " \n", + " Спроси у пользователя день недели.\n", + " \n", + " Если это **суббота** или **воскресенье**, выведи:`Сегодня выходной`\n", + " \n", + " Иначе выведи:`Сегодня не выходной`\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать `or`;\n", + " - сравнивать строку с двумя вариантами;\n", + " - каждый вариант сравнения записать полностью." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "08c26485", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Сегодня выходной\n" + ] + } + ], + "source": [ + "day_of_week = input('Какой сегодня день недели?')\n", + "if day_of_week == 'суббота' or 'воскресенье' :\n", + " print('Сегодня выходной')\n", + "else:\n", + " print('Сегодня не выходной]')" + ] + }, + { + "cell_type": "markdown", + "id": "ce20eb2e", + "metadata": {}, + "source": [ + "- Задача 3. Можно ли войти\n", + " \n", + " Создай две переменные:\n", + " \n", + " - `age` — возраст;\n", + " - `has_ticket` — есть ли билет (`True` или `False`).\n", + " \n", + " Нужно проверить:\n", + " \n", + " - если возраст **18 или больше** **и** билет есть — вывести `Можно войти`;\n", + " - иначе — вывести `Войти нельзя`.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать `and`;\n", + " - одно условие должно быть числовым, другое — логическим;\n", + " - решение сделать через `if else`." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "7c9b5f94", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "войти нельзя\n" + ] + } + ], + "source": [ + "age = int(input('сколько вам лет?'))\n", + "has_ticket = True\n", + "if age >= 18 and has_ticket:\n", + " print('можно войти')\n", + "else:\n", + " print('войти нельзя')" + ] + }, + { + "cell_type": "markdown", + "id": "9b682206", + "metadata": {}, + "source": [ + "- Задача 4. Свободен ли человек\n", + " \n", + " Создай переменную `is_busy`.\n", + " \n", + " Если человек **не занят**, выведи:`Можно позвонить`\n", + " \n", + " Иначе выведи:`Сейчас лучше не звонить`\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать `not`;\n", + " - значение переменной задать в коде;\n", + " - решение сделать через `if else`." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "7d02a3c4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Можно позвонить\n" + ] + } + ], + "source": [ + "is_busy = None\n", + "is_busy = input('Человек занят? да/нет')\n", + "if not is_busy == 'нет':\n", + " print('Сейчас лучше не звонить')\n", + "else:\n", + " print('Можно позвонить')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.13.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/dmedvedev/python/6.cycles_while.ipynb b/dmedvedev/python/6.cycles_while.ipynb new file mode 100644 index 0000000..65cc047 --- /dev/null +++ b/dmedvedev/python/6.cycles_while.ipynb @@ -0,0 +1,323 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "791c0955", + "metadata": {}, + "source": [ + "- Задача 1. Вывести числа от 1 до 5\n", + " \n", + " Сделай программу, которая выводит числа от `1` до `5` с помощью цикла `while`.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать переменную-счетчик;\n", + " - внутри цикла изменять эту переменную;\n", + " - каждое число выводить с новой строки." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "f606bb40", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n", + "2\n", + "3\n", + "4\n", + "5\n" + ] + } + ], + "source": [ + "num = 1\n", + "while num < 6:\n", + " print(num)\n", + " num += 1" + ] + }, + { + "cell_type": "markdown", + "id": "8dfdbe5f", + "metadata": {}, + "source": [ + "- Задача 2. Вывести слово несколько раз\n", + " \n", + " Сделай программу, которая выводит слово `Привет` ровно 3 раза с помощью `while`.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать счетчик;\n", + " - цикл должен закончиться сам;\n", + " - слово выводить в каждой итерации отдельно." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "4a4352c2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Привет\n", + "Привет\n", + "Привет\n" + ] + } + ], + "source": [ + "n = 1\n", + "while n < 4:\n", + " print('Привет')\n", + " n += 1" + ] + }, + { + "cell_type": "markdown", + "id": "f85e214e", + "metadata": {}, + "source": [ + "- Задача 3. Сумма чисел от 1 до 5\n", + " \n", + " Сделай программу, которая находит сумму чисел от `1` до `5` с помощью `while`.\n", + " \n", + " В конце программа должна вывести итоговую сумму.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать переменную для текущего числа;\n", + " - использовать отдельную переменную для суммы;\n", + " - выводить только конечный результат." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "c1f0b624", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "15\n" + ] + } + ], + "source": [ + "sum = 0\n", + "n = 1\n", + "while n < 6:\n", + " sum = sum + n\n", + " n += 1\n", + "print(sum)" + ] + }, + { + "cell_type": "markdown", + "id": "d045b301", + "metadata": {}, + "source": [ + "- Задача 4. Обратный отсчет\n", + " \n", + " Сделай программу, которая выводит числа от `5` до `1`, а после этого выводит строку: `Старт!`\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать `while`;\n", + " - счетчик должен уменьшаться;\n", + " - строка `Старт!` должна выводиться уже после завершения цикла." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "b1ec7610", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "5\n", + "4\n", + "3\n", + "2\n", + "1\n", + "Старт!\n" + ] + } + ], + "source": [ + "n = 5\n", + "while n != 0:\n", + " print(n)\n", + " n = n - 1\n", + "print('Старт!')" + ] + }, + { + "cell_type": "markdown", + "id": "366b67d3", + "metadata": {}, + "source": [ + "- Задача 5. Пока не введут правильный пароль\n", + " \n", + " Заранее создай переменную с правильным паролем, например `\"python123\"`.\n", + " \n", + " Программа должна:\n", + " \n", + " 1. спросить пароль у пользователя;\n", + " 2. пока пароль неверный, снова просить ввести его;\n", + " 3. когда пароль введен правильно, вывести:\n", + " \n", + " `Пароль верный`\n", + " \n", + " \n", + " **Требования:**\n", + " \n", + " - использовать `while`;\n", + " - использовать сравнение строк;\n", + " - внутри цикла снова запрашивать ввод." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "44ac2dce", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Пароль верный\n" + ] + } + ], + "source": [ + "right_pass = 'python123'\n", + "question_pass = input('Введите пароль')\n", + "while question_pass != right_pass:\n", + " question_pass = input('ВЫ ВВЕЛИ НЕВЕРНЫЙ ПАРОЛЬ, ПОВТОРИТЕ')\n", + "print('Пароль верный')" + ] + }, + { + "cell_type": "markdown", + "id": "a7c68d25", + "metadata": {}, + "source": [ + "- Задача 6. Сумма чисел, пока не введут 0\n", + " \n", + " Сделай программу, которая запрашивает у пользователя числа.\n", + " \n", + " Программа должна работать так:\n", + " \n", + " - пользователь вводит число;\n", + " - программа добавляет его к общей сумме;\n", + " - если пользователь вводит `0`, цикл заканчивается;\n", + " - после окончания программа выводит итоговую сумму.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать `while`;\n", + " - использовать `input()` и преобразование в число;\n", + " - `0` не должен ломать программу, а должен завершать ввод." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "cb692e9e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3.0\n" + ] + } + ], + "source": [ + "a = float(input('введите число'))\n", + "b = 0\n", + "while a != 0:\n", + " b = b + a\n", + " a = float(input('введите число еще раз'))\n", + "print(b)\n" + ] + }, + { + "cell_type": "markdown", + "id": "217323e8", + "metadata": {}, + "source": [ + "- Задача 7. Проверка числа на диапазон\n", + " \n", + " Спроси у пользователя число.\n", + " \n", + " Пока число **не входит в диапазон от 1 до 10**, программа должна снова просить ввести число.\n", + " \n", + " Когда пользователь наконец введет число от `1` до `10`, программа должна вывести: `Число подходит`\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать `while`;\n", + " - использовать логические операторы в условии;\n", + " - цикл должен завершаться только при правильном вводе." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "fbd8b8fb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "число подходит\n" + ] + } + ], + "source": [ + "a = float(input('введите число'))\n", + "while a < 1 or a > 10:\n", + " a = float(input('число не подходит, введите новое число'))\n", + "print('число подходит')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.13.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/dmedvedev/python/7.cycles_for.ipynb b/dmedvedev/python/7.cycles_for.ipynb new file mode 100644 index 0000000..a9553b2 --- /dev/null +++ b/dmedvedev/python/7.cycles_for.ipynb @@ -0,0 +1,314 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "69eb39ee", + "metadata": {}, + "source": [ + "- Задача 1. Вывести числа от 1 до 5\n", + " \n", + " Сделай программу, которая выводит числа от `1` до `5` с помощью цикла `for`.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать `range()`;\n", + " - каждое число выводить с новой строки." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "66a25f8c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n", + "2\n", + "3\n", + "4\n", + "5\n" + ] + } + ], + "source": [ + "for i in range(1, 6):\n", + " print(i)" + ] + }, + { + "cell_type": "markdown", + "id": "f07ffbfd", + "metadata": {}, + "source": [ + "- Задача 2. Вывести слово несколько раз\n", + " \n", + " Сделай программу, которая выводит слово `Привет` ровно 3 раза с помощью `for`.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать `for`;\n", + " - использовать `range()`;\n", + " - слово выводить в каждой итерации отдельно." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "5e56481d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Привет\n", + "Привет\n", + "Привет\n" + ] + } + ], + "source": [ + "for i in range(3):\n", + " print('Привет')" + ] + }, + { + "cell_type": "markdown", + "id": "1cac9b1a", + "metadata": {}, + "source": [ + "- Задача 3. Сумма чисел от 1 до 5\n", + " \n", + " Сделай программу, которая находит сумму чисел от `1` до `5` с помощью `for`.\n", + " \n", + " В конце программа должна вывести итоговую сумму.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать переменную для суммы;\n", + " - внутри цикла прибавлять текущее число к общей сумме;\n", + " - вывести только конечный результат." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "f1f7ac17", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "15\n" + ] + } + ], + "source": [ + "a = 0\n", + "for i in range(1, 6):\n", + " a = a + i\n", + "print(a)" + ] + }, + { + "cell_type": "markdown", + "id": "1b57f6b7", + "metadata": {}, + "source": [ + "- Задача 4. Обратный отсчет\n", + " \n", + " Сделай программу, которая выводит числа от `5` до `1`, а после этого выводит строку: `Старт!`\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать `for`;\n", + " - вывести числа в обратном порядке;\n", + " - строка `Старт!` должна выводиться после цикла." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "8243b694", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "5\n", + "4\n", + "3\n", + "2\n", + "1\n", + "Старт!\n" + ] + } + ], + "source": [ + "for i in range(5, 0, -1):\n", + " print(i)\n", + "print('Старт!')" + ] + }, + { + "cell_type": "markdown", + "id": "7b8fe3f7", + "metadata": {}, + "source": [ + "- Задача 5. Буквы слова\n", + " \n", + " Создай переменную со словом, например `\"Python\"`.\n", + " \n", + " Сделай программу, которая с помощью `for` выводит каждую букву этого слова с новой строки.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать цикл `for`;\n", + " - пройтись по строке;\n", + " - каждую букву выводить отдельно." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "230d5292", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "P\n", + "y\n", + "t\n", + "h\n", + "o\n", + "n\n" + ] + } + ], + "source": [ + "a = 'Python'\n", + "for i in a:\n", + " print(i)" + ] + }, + { + "cell_type": "markdown", + "id": "064a2d9b", + "metadata": {}, + "source": [ + "- Задача 6. Подсчет суммы введенных чисел\n", + " \n", + " Спроси у пользователя, сколько чисел он хочет ввести.\n", + " \n", + " После этого программа должна:\n", + " \n", + " 1. `n` раз спросить число;\n", + " 2. добавить каждое число к общей сумме;\n", + " 3. после окончания вывести итоговую сумму.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать `for`;\n", + " - количество повторений должно зависеть от числа, введенного пользователем;\n", + " - использовать `input()` и преобразование в число." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "61185056", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Вам нужно будет ввести 3 чисел\n", + "Сумма всех чисел: 6.0\n" + ] + } + ], + "source": [ + "a = int(input('Сколько чисел вы введете?'))\n", + "print(f'Вам нужно будет ввести {a} чисел')\n", + "c = 0\n", + "for i in range(a):\n", + " b = float(input(f'введите число №{i + 1}'))\n", + " c = b + c\n", + "print(f'Сумма всех чисел: {c}')" + ] + }, + { + "cell_type": "markdown", + "id": "3825fcdf", + "metadata": {}, + "source": [ + "- Задача 7. Мини-анкета\n", + "С помощью цикла `for` выведи по очереди вопросы:\n", + " - `Как тебя зовут?`\n", + " - `Сколько тебе лет?`\n", + " - `Из какого ты города?`.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать цикл `for`;\n", + " - пройтись по строкам;\n", + " - каждый вопрос выводить отдельно." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "d75b9340", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Как тебя зовут?\n", + "Сколько тебе лет?\n", + "Из какого ты города?\n" + ] + } + ], + "source": [ + "a = 'Как тебя зовут?'\n", + "b = 'Сколько тебе лет?'\n", + "c = 'Из какого ты города?'\n", + "\n", + "d = [a, b, c]\n", + "for i in d:\n", + " print(i)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.13.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/dmedvedev/python/8.structure_of_data_string.ipynb b/dmedvedev/python/8.structure_of_data_string.ipynb new file mode 100644 index 0000000..754f897 --- /dev/null +++ b/dmedvedev/python/8.structure_of_data_string.ipynb @@ -0,0 +1,347 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "3d17cff8", + "metadata": {}, + "source": [ + "- Задача 1. Имя файла\n", + " \n", + " Создай строку с именем файла, например: `\"orders_2025.csv\"`\n", + " \n", + " Выведи:\n", + " \n", + " - саму строку;\n", + " - длину строки через `len()`.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать строковую переменную;" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "48e71970", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "orders_2025.csv\n", + "15\n" + ] + } + ], + "source": [ + "a = 'orders_2025.csv'\n", + "print(a)\n", + "print(len(a))" + ] + }, + { + "cell_type": "markdown", + "id": "5ef32f80", + "metadata": {}, + "source": [ + "- Задача 2. Первый и последний символ пути\n", + " \n", + " Создай строку с путем или именем файла, например: `\"raw_data.json\"`\n", + " \n", + " Выведи:\n", + " \n", + " - первый символ строки;\n", + " - последний символ строки.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать индексы;" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "a02849b7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "r\n", + "n\n" + ] + } + ], + "source": [ + "a = 'raw_data.json'\n", + "print(a[0])\n", + "print(a[-1])" + ] + }, + { + "cell_type": "markdown", + "id": "305de650", + "metadata": {}, + "source": [ + "- Задача 3. Символы по индексам в названии таблицы\n", + " \n", + " Создай строку с названием таблицы, например: `\"sales_data\"`\n", + " \n", + " Выведи:\n", + " \n", + " - символ с индексом `0`;\n", + " - символ с индексом `2`;\n", + " - символ с индексом `1`.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать обычный и отрицательный индекс." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d230f744", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "s\n", + "l\n", + "l\n", + "a\n" + ] + } + ], + "source": [ + "a = 'sales_data'\n", + "print(a[0])\n", + "print(a[-8])\n", + "print(a[1])" + ] + }, + { + "cell_type": "markdown", + "id": "0516ae84", + "metadata": {}, + "source": [ + "- Задача 4. Переверни код источника\n", + " \n", + " Создай строку с коротким кодом источника, например: `\"API001\"`\n", + " \n", + " Выведи:\n", + " \n", + " - исходную строку;\n", + " - строку в обратном порядке.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать слайс со шагом;\n", + " - не использовать цикл." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "3a257e6c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "API001\n", + "100IPA\n" + ] + } + ], + "source": [ + "a = 'API001' \n", + "print(a)\n", + "print(a[::-1])" + ] + }, + { + "cell_type": "markdown", + "id": "e2f8feb6", + "metadata": {}, + "source": [ + "- Задача 5. Очистка названия колонки\n", + " \n", + " Создай строку с названием колонки, в которой:\n", + " \n", + " - есть лишние пробелы по краям;\n", + " - есть буквы разного регистра.\n", + " \n", + " Например: `\" User_ID \"`\n", + " \n", + " Нужно вывести:\n", + " \n", + " - исходную строку;\n", + " - строку после `strip()`;\n", + " - строку в нижнем регистре;\n", + " - строку в верхнем регистре.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать методы строк;\n", + " - каждый результат вывести отдельно." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "eaa07c5b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " User_ID \n", + "User_ID\n", + " user_id \n", + " USER_ID \n" + ] + } + ], + "source": [ + "a = ' User_ID '\n", + "print(a) \n", + "print(a.strip())\n", + "print(a.lower()) \n", + "print(a.upper())" + ] + }, + { + "cell_type": "markdown", + "id": "fb8cc762", + "metadata": {}, + "source": [ + "- Задача 6. Замена в строке лога\n", + " \n", + " Создай строку с логом или текстом ошибки, например: `\"ERROR: file not found\"`\n", + " \n", + " Нужно:\n", + " \n", + " - вывести исходную строку;\n", + " - заменить слово `\"ERROR\"` на `\"WARNING\"` через `replace()`;\n", + " - сохранить результат в новую переменную;\n", + " - вывести новую строку;\n", + " - проверить, есть ли в строке слово `\"file\"` через `in`;\n", + " - вывести результат проверки.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать `replace()`;\n", + " - использовать оператор `in`;\n", + " - вывести все промежуточные результаты;\n", + " - не изменять исходную строку напрямую." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "3ea53267", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ERROR: file not found\n", + "WARNING: file not found\n", + "True\n" + ] + } + ], + "source": [ + "a = 'ERROR: file not found'\n", + "print(a)\n", + "b = a.replace('ERROR', 'WARNING')\n", + "print(b)\n", + "print('file' in b)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "- Задача 7. Замена в строке лога\n", + " \n", + " Спроси у пользователя название файла, таблицы или колонки.\n", + " \n", + " После этого программа должна вывести:\n", + " \n", + " - саму строку;\n", + " - длину строки;\n", + " - первый символ;\n", + " - последний символ;\n", + " - строку в верхнем регистре;\n", + " - строку в обратном порядке.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать `input()`;\n", + " - использовать `len()`;\n", + " - использовать индексы;\n", + " - использовать метод строки;\n", + " - использовать слайс." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "0055f1c5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "kek chebuREK\n", + "12\n", + "k\n", + "K\n", + "KEK CHEBUREK\n", + "kek cheburek\n" + ] + } + ], + "source": [ + "a = input('Введите название файла')\n", + "print(a)\n", + "print(len(a))\n", + "print(a[0])\n", + "print(a[-1])\n", + "print(a.upper())\n", + "print(a.lower())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.13.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/dmedvedev/python/9.structure_of_data_list.ipynb b/dmedvedev/python/9.structure_of_data_list.ipynb new file mode 100644 index 0000000..18a468c --- /dev/null +++ b/dmedvedev/python/9.structure_of_data_list.ipynb @@ -0,0 +1,358 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "138e28b2", + "metadata": {}, + "source": [ + "- Задача 1. Список колонок\n", + " \n", + " Создай список из 4 названий колонок, например:\n", + " \n", + " - `id`\n", + " - `name`\n", + " - `city`\n", + " - `age`\n", + " \n", + " Выведи:\n", + " \n", + " - весь список;\n", + " - длину списка.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать список;\n", + " - использовать `len()`." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "82318fc7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['id', 'name', 'city', 'age']\n", + "4\n" + ] + } + ], + "source": [ + "a = ['id', 'name', 'city', 'age']\n", + "print(a)\n", + "print(len(a))" + ] + }, + { + "cell_type": "markdown", + "id": "c5561266", + "metadata": {}, + "source": [ + "- Задача 2. Первая, последняя и средняя колонка\n", + " \n", + " Создай список из 5 названий полей таблицы.\n", + " \n", + " Выведи:\n", + " \n", + " - первый элемент;\n", + " - последний элемент;\n", + " - элемент с индексом `2`.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать индексы;\n", + " - использовать и обычный, и отрицательный индекс." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "0f51f52e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "id\n", + "email\n", + "city\n" + ] + } + ], + "source": [ + "a = ['id', 'name', 'city', 'age', 'email']\n", + "print(a[0])\n", + "print(a[-1])\n", + "print(a[2])\n" + ] + }, + { + "cell_type": "markdown", + "id": "ea884766", + "metadata": {}, + "source": [ + "- Задача 3. Исправь название поля\n", + " \n", + " Создай список из 4 названий колонок.\n", + " \n", + " Замени одно неверное или неудобное название на другое.\n", + " \n", + " Пример идеи:\n", + " \n", + " - было `usr_id`\n", + " - стало `user_id`\n", + " \n", + " После этого выведи:\n", + " \n", + " - исходный список;\n", + " - измененный список.\n", + " \n", + " **Требования:**\n", + " \n", + " - изменить элемент по индексу;\n", + " - не создавать новый список с нуля." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "013b5437", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['id', 'na', 'city', 'age']\n", + "['id', 'name', 'city', 'age']\n" + ] + } + ], + "source": [ + "a = ['id', 'na', 'city', 'age']\n", + "print(a)\n", + "a[1] = 'name'\n", + "print(a)" + ] + }, + { + "cell_type": "markdown", + "id": "6046a2d0", + "metadata": {}, + "source": [ + "- Задача 5. Части списка колонок\n", + " \n", + " Создай список из 6 названий колонок.\n", + " \n", + " Выведи:\n", + " \n", + " - первые 3 элемента;\n", + " - последние 2 элемента;\n", + " - список без первого элемента;\n", + " - список в обратном порядке.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать слайсы;\n", + " - не писать новый список вручную." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "2709006a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['id', 'name', 'city']\n", + "['email', 'date_birthday']\n", + "['name', 'city', 'age', 'email', 'date_birthday']\n", + "['date_birthday', 'email', 'age', 'city', 'name', 'id']\n" + ] + } + ], + "source": [ + "a = ['id', 'name', 'city', 'age', 'email', 'date_birthday']\n", + "print(a[:3])\n", + "print(a[-2:])\n", + "print(a[1:])\n", + "print(a[-1::-1])" + ] + }, + { + "cell_type": "markdown", + "id": "cdc7383a", + "metadata": {}, + "source": [ + "- Задача 6. Перебор списка файлов\n", + " \n", + " Создай список из 5 файлов, например:\n", + " \n", + " - `orders.csv`\n", + " - `users.csv`\n", + " - `products.csv`\n", + " - `sales.csv`\n", + " - `logs.csv`\n", + " \n", + " С помощью цикла `for` выведи каждый файл с новой строки.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать список;\n", + " - использовать `for`;\n", + " - пройтись по всем элементам списка." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "5d511291", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "orders.csv\n", + "users.csv\n", + "products.csv\n", + "sales.csv\n", + "logs.csv\n" + ] + } + ], + "source": [ + "a = ['orders.csv', 'users.csv', 'products.csv', 'sales.csv', 'logs.csv']\n", + "for i in a:\n", + " print(i)" + ] + }, + { + "cell_type": "markdown", + "id": "640bec7f", + "metadata": {}, + "source": [ + "- Задача 7. Проверка нужной колонки\n", + " \n", + " Создай список названий колонок таблицы.\n", + " \n", + " Проверь:\n", + " \n", + " - есть ли в списке `\"user_id\"`;\n", + " - есть ли в списке `\"created_at\"`.\n", + " \n", + " Выведи результат каждой проверки.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать оператор `in`;\n", + " - вывести `True` или `False`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6948dd3e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "False\n", + "False\n", + "True\n" + ] + } + ], + "source": [ + "a = ['id', 'name', 'city', 'age', 'email', 'date_birthday']\n", + "print('user_id' in a)\n", + "print('created_at' in a)\n", + "print('id' in a)" + ] + }, + { + "cell_type": "markdown", + "id": "a061e5ee", + "metadata": {}, + "source": [ + "- Задача 8. Список файлов от пользователя\n", + " \n", + " Сделай программу, которая:\n", + " \n", + " 1. создает пустой список;\n", + " 2. 3 раза спрашивает у пользователя имя файла;\n", + " 3. добавляет каждый ответ в список;\n", + " 4. после этого выводит:\n", + " - весь список;\n", + " - количество элементов;\n", + " - первый элемент;\n", + " - последний элемент.\n", + " \n", + " **Требования:**\n", + " \n", + " - использовать список;\n", + " - использовать `append()`;\n", + " - использовать `input()`;\n", + " - использовать индексы и `len()`." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "8c7913d5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['variables.py', 'list.py', 'str.py']\n", + "3\n", + "variables.py\n", + "str.py\n" + ] + } + ], + "source": [ + "a = []\n", + "for i in range(3):\n", + " b = str(input(f'введите названия файла №{i + 1}'))\n", + " a.append(b)\n", + "print(a)\n", + "print(len(a))\n", + "print(a[0])\n", + "print(a[-1])" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.13.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}