diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6341a1aa..5c83b8cf 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -15,7 +15,7 @@ repos: - --warn-only exclude: '.*\.md$' - repo: https://github.com/PyCQA/docformatter - rev: "eb1df347edd128b30cd3368dddc3aa65edcfac38" + rev: "v1.7.7" hooks: - id: docformatter args: [--in-place, --wrap-descriptions=120, --style=google] diff --git a/log.ipynb b/log.ipynb new file mode 100644 index 00000000..3704f784 --- /dev/null +++ b/log.ipynb @@ -0,0 +1,71 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "a5c7f761", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Module for logging experiment results.'" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"Module for logging experiment results.\"\"\"\n" + ] + }, + { + "cell_type": "markdown", + "id": "33ff615f", + "metadata": {}, + "source": [ + "04/01\n", + "1. Закончила выполнение intro, c Cursor разобралась.\n", + "2. Начала проходить курс по Python.\n" + ] + }, + { + "cell_type": "markdown", + "id": "f6cb4978", + "metadata": {}, + "source": [ + "7/01\n", + "1. Выполнила quiz 1 b quiz 2" + ] + }, + { + "cell_type": "markdown", + "id": "3ceda156", + "metadata": {}, + "source": [] + } + ], + "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.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/log.py b/log.py new file mode 100644 index 00000000..b3bfb8fd --- /dev/null +++ b/log.py @@ -0,0 +1,11 @@ +"""Module for logging experiment results.""" + +# 04/01 +# 1. Закончила выполнение intro, c Cursor разобралась. +# 2. Начала проходить курс по Python. +# + +# 7/01 +# 1. Выполнила quiz 1 b quiz 2 + +# diff --git a/python/cpython.ipynb b/python/cpython.ipynb new file mode 100644 index 00000000..59e646f1 --- /dev/null +++ b/python/cpython.ipynb @@ -0,0 +1,179 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "c1ccfa97", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Quiz 4.'" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"Quiz 4.\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "01f96160", + "metadata": {}, + "source": [ + "1. Что такое CPython и чем он отличается от Python?\n", + "Python - это язык программирования, а CPython - это и язык программирования, и интерпретатор одновременно. \n", + "3. Сколько существует реализаций Python, и какая из них самая популярная?\n", + "Существует 6 реализаций Python, самая популярная из них-CPython\n", + "4. На каком языке написан CPython?\n", + "CPython написан на языке С.\n", + "5. (опционально) Кто создал CPython?\n", + "CPython создал голландский программист Гвидо ван Россум.\n", + "\n", + "6. Почему Python считается быстрым, несмотря на то, что это интерпретируемый язык?\n", + "Потому что ядро CPython написано на языке С, и он вызывает инструкции из С.\n", + "\n", + "7. Напишите путь к Интерпретатору CPython на вашем компьютере\n", + "C:\\Users\\user\\anaconda3\\python.exe\n", + "\n", + "8. Что содержится в папке include в CPython?\n", + "В папке include в CPython находятся заголовочные файлы на языке С.\n", + "\n", + "9. Где можно найти исходный код CPython дайте ссылку на репозиторий гитхаб.\n", + "Ссылка на репозиторий гитхаб: https://github.com/python/cpython\n", + "\n", + "10. (опционально) Как работает интерпретатор CPython при выполнении кода?\n", + "Интерпретатор CPython выполняет код пошагово, преобразуя его в машинные инструкции для компьютера.\n", + "\n", + "11. Какая команда используется для запуска файла с помощью CPython?\n", + "python filename\n", + "\n", + "12. Можно ли запускать текстовые файлы через интерпретатор Python? Почему?\n", + "Можно, так как интерпретатору неважно, какие файлы запускать, главное – валидный пайтон-код.\n", + "\n", + "13. Как указать путь к интерпретатору и файлу для выполнения кода?\n", + "Через абсолютный или относительный путь. \n", + "\n", + "14. Чем PyPy отличается от CPython?\n", + "Этот интерпретатор работает в 10 раз быстрее, чем CPython.\n", + "\n", + "15. Почему PyPy не может использоваться для всех проектов на Python?\n", + "Это достаточно новый интерпретатор, и он ещё не совместим со всеми проектами на Python. \n", + "\n", + "16. Где можно скачать PyPy?\n", + "По ссылке: https://pypy.org/download.html\n", + "\n", + "17. Как установить PyPy после скачивания?\n", + "Извлечь папку и прописать пути в переменных средах.\n", + "\n", + "18. Как запустить файл с помощью PyPy?\n", + "В командной строке Windows ввести абсолютный путь до интерпретатора, пробел, абсолютный путь до файла, нажать Enter.\n", + "\n", + "19. Почему PyPy выполняет код быстрее, чем CPython?\n", + "PyPy использует Just-In-Time компилятор для компиляции Python в машинный код во время выполнения, что ускоряет работу.\n", + "\n", + "Практические задания\n", + "Задание 1: Поиск и установка CPython\n", + "Проверьте, установлен ли CPython на вашем компьютере:\n", + " Используйте поиск в меню \"Пуск\" (Windows) или терминале (Linux/Mac).\n", + " Введите команду python --version или python3 --version в терминале.\n", + "Если CPython не установлен, скачайте его с официального сайта Python https://www.python.org/downloads/ и установите.\n", + "\n", + "C:\\Users\\user>python --version\n", + "Python 3.13.9\n", + "\n", + "\n", + "Задание 2: Исследование структуры CPython\n", + "Найдите папку, где установлен Python (например, через команду where python в терминале или свойства ярлыка).\n", + "Откройте папку include и изучите её содержимое. Какое количество файлов на C там есть?\n", + "Перейдите на [GitHub-репозиторий CPython](https://github.com/python/cpython) и найдите файл README. Прочитайте информацию о проекте.\n", + "\n", + "В папке include количество файлов на C: 77.\n", + "\n", + "C:\\Users\\user>where python\n", + "C:\\Users\\user\\anaconda3\\python.exe\n", + "C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python310\\python.exe\n", + "C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python312\\python.exe\n", + "C:\\Users\\user\\AppData\\Local\\Microsoft\\WindowsApps\\python.exe\n", + "\n", + "C:\\Users\\user>\n", + "\n", + "Задание 3: Запуск файла с помощью CPython\n", + "Создайте текстовый файл example.txt с содержимым:\n", + "print(\"Hello from CPython!\")\n", + "Запустите файл через команду python <путь_до_файла> (замените <путь_до_файла> на фактический путь к вашему файлу).\n", + "Проверьте, что выводится на экран. Попробуйте изменить расширение файла на .py и повторите запуск.\n", + "C:\\Users\\user>C:\\Users\\user\\anaconda3\\Scripts\\ipython3.exe C:\\Users\\user\\Desktop\\Test1\\example.txt\n", + "Hello from CPython!\n", + "\n", + "C:\\Users\\user>C:\\Users\\user\\anaconda3\\Scripts\\ipython3.exe\n", + "C:\\Users\\user\\Desktop\\Test1\\example.py\n", + "Hello from CPython!\n", + "\n", + "\n", + "Задание 4: Установка и использование PyPy\n", + "Перейдите на [официальный сайт PyPy](https://www.pypy.org/) и скачайте подходящую версию для вашей операционной системы.\n", + "Распакуйте скачанный архив в удобное место.\n", + "Создайте файл example_pypy.py с кодом:\n", + "print(\"Hello from pypy!\")\n", + "Запустите файл через PyPy\n", + "pypy <путь_до_файла> (замените <путь_до_файла> на фактический путь к вашему файлу).\n", + "Проверьте, что выводится на экран. Попробуйте изменить расширение файла на .py и повторите запуск.\n", + "Вывод:\n", + "C:\\Users\\user>C:\\Users\\user\\Downloads\\pypy3.11-v7.3.20-win64\\pypy.exe C:\\Users\\user\\Desktop\\Test1\\example_pypy.py\n", + "Hello from PyPy\n", + "C:\\Users\\user>\n", + "Задание 5: Сравнение производительности CPython и PyPy\n", + "Создайте файл performance_test.py с кодом:\n", + " import time\n", + " start_time = time.time()\n", + " total = 0\n", + " for i in range(1, 10000000):\n", + " total += i\n", + " end_time = time.time()\n", + " \n", + " print(\"Result:\", total)\n", + " print(\"Execution time:\", end_time - start_time, \"seconds\")\n", + "Запустите этот файл сначала через CPython, а затем через PyPy. Запишите результаты времени выполнения для обоих интерпретаторов.\n", + "Сделайте вывод о разнице в производительности.\n", + "\n", + "Результат запуска через PyPy:\n", + "C:\\Users\\user>C:\\Users\\user\\Downloads\\pypy3.11-v7.3.20-win64\\pypy.exe C:\\Users\\user\\Desktop\\Test1\\performance_test.py\n", + "Result: 49999995000000\n", + "Execution time: 0.015625715255737305 seconds\n", + "\n", + "Результат запуска через iPython:\n", + "C:\\Users\\user>C:\\Users\\user\\anaconda3\\Scripts\\ipython.exe C:\\Users\\user\\Desktop\\Test1\\ performance_test.py\n", + "Result: 49999995000000\n", + "Execution time: 2.2144627571105957 seconds\n", + "Вывод: Время выполнения через интерпретатор iPython в 142 раза больше.\n" + ] + } + ], + "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.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/python/venv.ipynb b/python/venv.ipynb new file mode 100644 index 00000000..94e8c6d1 --- /dev/null +++ b/python/venv.ipynb @@ -0,0 +1,100 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "a6e9c430", + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"Quiz 7.\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "c01338ff", + "metadata": {}, + "source": [ + "1.\tЧто делает команда python -m venv venv? \n", + "\n", + "Ответ: создаёт виртуальное окружение, название окружения venv\n", + "\n", + "1.1 Что делает каждая команда в списке ниже?\n", + "\n", + "pip list - отображает пакеты, находящиеся в pip\n", + "pip freeze > requirements.txt - выгружает все пакеты в один файл, который называется requirements.txt.\n", + "pip install -r requirements.txt - устанавливает все пакеты из файла requirements.txt одним махом.\n", + "\n", + "2.\tЧто делает каждая команда в списке ниже?\n", + "\n", + "conda env list - используется для отображения списка всех существующих окружений conda вместе с путями к ним в файловой системе. \n", + "conda create -n env_name python=3.5 - создаёт виртуальное окружение conda с именем env_name, здесь python=3.5 - версия питона.\n", + "conda env update -n env_name -f file.yml - обновляет окружение env_name зависимостями из yaml-файла.\n", + "source activate env_name - активирует виртуальное окружение с именем env_name. \n", + "source deactivate - деактивирует виртуальное окружение \n", + "conda clean -all - удаляет кэш и неиспользуемые пакеты. \n", + "\n", + "3.\tВставьте скрин вашего терминала, где вы активировали сначала venv, потом conda, назовите окружение “Senatorov”.\n", + "\n", + "Ответ: image.png\n", + "4.\tКак установить необходимые пакеты внутрь виртуального окружения для conda/venv?\n", + "\n", + "Ответ: 1) для venv: \n", + "-активация нужного окружения и установка нужных зависимостей с помощью команды pip install “имя зависимости”.\n", + "-создать файл requirements.txt, записать туда все необходимые зависимости и с помощью команды pip install -r requirements.txt установить их.\n", + "2) для conda: \n", + "-активация нужного окружения и установка нужных зависимостей с помощью команды conda install “имя зависимости”.\n", + "-создать файл environment.yml, записать туда все необходимые зависимости и с помощью команды conda env update -f environment.yml установить их или обновить. \n", + "\n", + "5.\tЧто делают эти команды?\n", + "\n", + "pip freeze > requirements.txt -выгружает все пакеты venv в один файл, который называется requirements.txt.\n", + "conda env export > environment.yml - выгружает файлы зависимостей conda в файл environment.yml \n", + "\n", + "5.1 вставьте скрин, где будет видна папка VENV в вашем репозитории а также файлы зависимостей requirements.txt и environment.yml, файлы должны содержать зависимости\n", + "Ответ: image.png \n", + " image.png\n", + "6.\tЧто делают эти команды?\n", + "\n", + "pip install -r requirements.txt - устанавливает файлы зависимостей, находящиеся в requirements.txt, через пакетный менеджер pip.\n", + "conda env create -f environment.yml - устанавливает файлы зависимостей, находящиеся в environment.yml через пакетный менеджер conda.\n", + "\n", + "7.\tЧто делают эти команды?\n", + "\n", + "pip list - отображает список зависимостей выбранного окружения в venv.\n", + "pip show - выводит подробную информацию об установленном пакете: его версии, авторе, лицензии, месте установки, описании и зависимостях.\n", + "conda list - отображает список зависимостей выбранного окружения в conda. \n", + "\n", + "8.\tГде по умолчанию больше пакетов venv/pip или conda? и почему дата сайентисты используют conda? \n", + "\n", + "Ответ: больше пакетов в conda. В pip нет пакетов для Data science,поэтому дата сайентисты используют conda.\n", + "\n", + "9.\tвставьте скрин где будет видно, Выбор интерпретатора Python (conda) в VS Code/cursor\n", + "Ответ: image.png\n", + "\n", + "10.\tдобавьте в .gitignore папку SENATOROV\n", + "\n", + "11.\tЗачем нужно виртуальное окружение? \n", + "Ответ: виртуальное окружение - это изолированное пространство, в котором можно установить необходимую версию Python и пакеты, отличные от тех, которые установлены в системе. Это позволяет предотвратить конфликты между различными версиями Python и пакетов. Позволяет создавать “чистый” проект без лишних зависимостей. \n", + "\n", + "12.\tС этого момента надо работать в виртуальном окружении conda, ты научился(-ась) выгружать зависимости и работать с окружением?\n", + "Ответ: да\n", + "13.\tУдалите папку VENV, она больше не нужна, мы же не разрабы, нам нужна только conda\n", + "Ответ: удалила\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.13.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/python/venv.py b/python/venv.py new file mode 100644 index 00000000..b7ed7741 --- /dev/null +++ b/python/venv.py @@ -0,0 +1,69 @@ +"""Quiz 7.""" + +# 1. Что делает команда python -m venv venv? +# +# Ответ: создаёт виртуальное окружение, название окружения venv +# +# 1.1 Что делает каждая команда в списке ниже? +# +# pip list - отображает пакеты, находящиеся в pip +# pip freeze > requirements.txt - выгружает все пакеты в один файл, который называется requirements.txt. +# pip install -r requirements.txt - устанавливает все пакеты из файла requirements.txt одним махом. +# +# 2. Что делает каждая команда в списке ниже? +# +# conda env list - используется для отображения списка всех существующих окружений conda вместе с путями к ним в файловой системе. +# conda create -n env_name python=3.5 - создаёт виртуальное окружение conda с именем env_name, здесь python=3.5 - версия питона. +# conda env update -n env_name -f file.yml - обновляет окружение env_name зависимостями из yaml-файла. +# source activate env_name - активирует виртуальное окружение с именем env_name. +# source deactivate - деактивирует виртуальное окружение +# conda clean -all - удаляет кэш и неиспользуемые пакеты. +# +# 3. Вставьте скрин вашего терминала, где вы активировали сначала venv, потом conda, назовите окружение “Senatorov”. +# +# Ответ: image.png +# 4. Как установить необходимые пакеты внутрь виртуального окружения для conda/venv? +# +# Ответ: 1) для venv: +# -активация нужного окружения и установка нужных зависимостей с помощью команды pip install “имя зависимости”. +# -создать файл requirements.txt, записать туда все необходимые зависимости и с помощью команды pip install -r requirements.txt установить их. +# 2) для conda: +# -активация нужного окружения и установка нужных зависимостей с помощью команды conda install “имя зависимости”. +# -создать файл environment.yml, записать туда все необходимые зависимости и с помощью команды conda env update -f environment.yml установить их или обновить. +# +# 5. Что делают эти команды? +# +# pip freeze > requirements.txt -выгружает все пакеты venv в один файл, который называется requirements.txt. +# conda env export > environment.yml - выгружает файлы зависимостей conda в файл environment.yml +# +# 5.1 вставьте скрин, где будет видна папка VENV в вашем репозитории а также файлы зависимостей requirements.txt и environment.yml, файлы должны содержать зависимости +# Ответ: image.png +# image.png +# 6. Что делают эти команды? +# +# pip install -r requirements.txt - устанавливает файлы зависимостей, находящиеся в requirements.txt, через пакетный менеджер pip. +# conda env create -f environment.yml - устанавливает файлы зависимостей, находящиеся в environment.yml через пакетный менеджер conda. +# +# 7. Что делают эти команды? +# +# pip list - отображает список зависимостей выбранного окружения в venv. +# pip show - выводит подробную информацию об установленном пакете: его версии, авторе, лицензии, месте установки, описании и зависимостях. +# conda list - отображает список зависимостей выбранного окружения в conda. +# +# 8. Где по умолчанию больше пакетов venv/pip или conda? и почему дата сайентисты используют conda? +# +# Ответ: больше пакетов в conda. В pip нет пакетов для Data science,поэтому дата сайентисты используют conda. +# +# 9. вставьте скрин где будет видно, Выбор интерпретатора Python (conda) в VS Code/cursor +# Ответ: image.png +# +# 10. добавьте в .gitignore папку SENATOROV +# +# 11. Зачем нужно виртуальное окружение? +# Ответ: виртуальное окружение - это изолированное пространство, в котором можно установить необходимую версию Python и пакеты, отличные от тех, которые установлены в системе. Это позволяет предотвратить конфликты между различными версиями Python и пакетов. Позволяет создавать “чистый” проект без лишних зависимостей. +# +# 12. С этого момента надо работать в виртуальном окружении conda, ты научился(-ась) выгружать зависимости и работать с окружением? +# Ответ: да +# 13. Удалите папку VENV, она больше не нужна, мы же не разрабы, нам нужна только conda +# Ответ: удалила +# diff --git a/quiz1.ipynb b/quiz1.ipynb new file mode 100644 index 00000000..f1e7afec --- /dev/null +++ b/quiz1.ipynb @@ -0,0 +1,208 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "id": "839d001a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Quiz 1.'" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"Quiz 1.\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "7c4ea25e", + "metadata": {}, + "source": [ + "Список вопросов к видео https://youtu.be/hW_7hodGxVU?si=tCEVs00xGt2q61eW (АЛГОРИТМ ПРИНЯТИЯ И ОТДАЧИ ДОМАШКИ):\n", + " \n", + "(По желанию )В ответе подробно всё опишите и обязательно нужно указывать тайм код из видео где я это сказал, по желанию, дополнительно прикладываем скриншот из видео.\n", + "Если вы знаете ответы на вопросы из Вашего опыта, то таймкоды из видео не надо указывать и т.д.\n", + "\n", + "1) Как понять, что домашка пришла?\n", + "В чате homework будет сообщение @а прими пул\n", + "2) Как принять домашку?\n", + "Заходим а Гитхаб десктоп, нажимаем Fetch origin, заходим в history и смотрим самый верхний коммит.\n", + "3) Зачем нужна кнопка history и какие функции появляются при нажатии правой кнопки мыши на коммит?\n", + "Кнопка history показывает коммиты. Если нажать правой кнопкой на коммит, то выйдет контекстное меню. \n", + "\n", + "3.1) Где брать ссылку на коммит? куда её отправлять? \n", + "Ссылку брать с Гитхаба и отправлять в чат homework, пишем \"Коммит отдал\"\n", + "4) Что такое файл лога? \n", + "В файле лога нужно заполнять в конце каждого урока. В этом файле нужно писать дату и что запомнилось в течение урока. \n", + "4.1) Когда нужно его пушить?\n", + "После заполнения и проверки на ошибки.\n", + "5) Что такое интерпритатор? \n", + "Это программа, которая построчно выполняет команды, написанные на языке программирования. \n", + "6) Где можно выбрать интерпритатор?\n", + "В правом верхнем углу. \n", + "7) Что такое модуль? \n", + "Это файл с расширением .py или .ipynb.\n", + "8) Как создать и отправить коммит?\n", + "Создать файл с расширением .ipynb, заполнить, проверить на ошибки, Commit&sync, Commit&push\n", + "9) Как посмотреть что коммит точно отправлен и находится в github?\n", + "Коммит должен быть виден на гитхабе и в Hidtory в кошке. \n", + "10) Какая команда показывает что код не прошёл проверки на ошибки? \n", + "Команда в терминале pre-commit run --all-files\n", + "10.1) Напишите список линтеров которые используются для проверки кода и дайте их краткую характеристику.\n", + "Mypy - проверяет типы\n", + "Pylint - проверяет соответствие стандартам кодирования.\n", + "Pydocstyle - ищет отсутствие docstring\n", + "Flake8 - обнаруживает стилистические ошибки\n", + "\n", + "\n", + "11) Как узнать какой именно линтер не прошёл проверку?\n", + "При проверке через терминал командой pre-commit run --all-files выйдет статус Failed.\n", + "12) Линтер Pylint видит markdown?\n", + "нет\n", + "13) Номер ячейки в терминале и номер ячейки в vs code может отличаться? в каком случае?\n", + "Может. Линтер не видит ячейки markdown.\n", + "14) Где посмотреть номер ячейки в vscode?\n", + "Можно посмотреть внизу справа. \n", + "15) В каком формате ipynb отправляется в гитхаб? причём здесь JSON?\n", + "Файлы ipynb отпраляются на гитхаб в формате JSON.\n", + "16) Где посмотреть в какой ячейке ошибка?\n", + "По коду ошибки или Ctrl+F.\n", + "17) Как запустить терминал?\n", + "Terminal - New Terminal\n", + "18) Что такое линтер?\n", + "Это программа, которая проверяет файл на корректность.\n", + "19) В какой сайт нужно вставлять код ошибки если ошибка связана с pylint?\n", + "На сайт pylint.readthedocs.io\n", + "20) Секция pydocstyle в большинстве случае автоматический закрывается после исправления ошибок в каком линтере?\n", + "В pylint\n", + "21) Что такое описание модуля? Оно должно отражать информацию о том что находится в модуле?\n", + "Это описание того, что находится в модуле. Должно отражвть информацию о том, что находится в модуле. \n", + "21.1) С какой git команды начинается утро программиста?\n", + "С команды Fetch origin. \n", + "22) После внесения изменений в файлах, кнопка open in vs code пропадает в кошке, как по другому открыть vs code из кошки?\n", + "Нажать правой кнопкой на Current repository и выбрать open in VS code.\n", + "23) Что такое stash? \n", + " Общее объяснение концепции.\n", + " stash - буфер обмена, где можно спрятать локальные изменения. \n", + " Мы можем временно сохранить наши изменения, не коммитя их а репозиторий, для дальнейших изменений. \n", + "23.1) Как сохранить стэш?\n", + " git командa(подсказка: https://t.me/c/1937296927/3602/19531): \n", + "git stash save \"Name_stash\" - сохранение в буфер обмена\n", + "git stash apply \"Number_stash\" - извлечение из буфера обмена.\n", + " Кнопка в vs code:\n", + "Stash changes and continue\n", + "23.2) Как восстановить стэш(подсказка: https://t.me/c/1937296927/3602/25747)?:\n", + "\n", + "\n", + " git команда(подсказка: https://t.me/c/1937296927/3602/19531)?:\n", + "git stash apply \"Number_stash\"\n", + "23.3) Различие между стэшем и коммитом. \n", + " Когда лучше сохранить изменения в стэше, а когда коммитить.\n", + " Коммитить - когда мы завершили действия и можем вылоожить в ветку.\n", + " Стэшить - когда мы не завершили работу и хотим вернуться, чтобы доделать. \n", + "23.4) Как просмотреть список сохраненных стэшей? \n", + " git команда (подсказка: https://t.me/c/1937296927/3602/19531):\n", + "git stash list \n", + "23.5) Как удалить стэш? \n", + " Команды для удаления отдельных стэшей или всех сразу.\n", + " git команда (подсказка: https://t.me/c/1937296927/3602/19531):\n", + "git stash drop\n", + "git stash clean\n", + "23.6) Практические примеры использования стэша. \n", + " Краткие сценарии, где стэш помогает.\n", + "Спрятать изменения в моменте, когда нужно поработать над другой задачей\n", + "Спрятать измения, когда возник конфликт.\n", + "24) Где посмотреть что есть конфликт в файлах? \n", + "Рядом с файлом readme будет стоять треугольник с восклицательным знаком. Нажимаем Open in VS Code. Зеленым цветом будет выделено то, что с гитхаба, синим - локальные изменения. \n", + "24.1) Когда он появляется?\n", + "Когда в файле работвют одновременно два человека. \n", + "25) Как решить конфликт в файлах?\n", + "Нажать Reserve in Merge Editor, Complete Merge. \n", + "26) Напишиие правильное утверждение\n", + "-Зелёное то что пришло с гитхаба и синее локальные изменения или синее то что пришло с гитхаба и зелёное это локальные изменения \n", + "Зеленое - с гитхаба\n", + "Синее - локальные изменения.\n", + "27) Если мы работаем в одном файле, можно ли принять pull после того как вы спрячете в стэш свои изменения? \n", + "да, можно.\n", + "27.1) Что может произойти когда stash восстановите после принятия pull?\n", + "Может произойти конфликт. \n", + "28) Сколько способов решения конфликтов было показано в видео? Напишите ЧИСЛО и укажите их способы.\n", + "2 способа\n", + "1 способ - с помощью Accept Incoming Change,Accept Current Change, Accept Both Changes\n", + "2 способ - вручную удалить то что не нужно. \n", + "29) Что делает кнопка complete merge?\n", + "Смерживает конечные изменения из конфликтов в один.\n", + "30) В какой чат нужно писать если остались вопросы?\n", + "в чат HELP ME\n", + "31) Что такое FORK? Зачем его делают? \n", + "Форк - это копия чужого репозитория. Делают, чтобы вносить изменения, не затрагивая оригинала. \n", + "32) Как скачать форкнутый репозиторий на локальный компьютер?\n", + "Нажать на него, выбрать Open in GitHub Desktop, затем Clone\n", + "33) С какой вероятностью ваши ошибки были уже решены? и кто их решил?\n", + "C вероятностью 90%. Их решил Сенаторов Руслан Олегович.\n", + "34) Как создать файл в vs code?\n", + "Нажать на листочек с плюсиком и ввести название и формат файла. \n", + "35) Файл лога нужно заполнять в конце каждого урока?\n", + "Да.\n", + "==================\n", + "\n", + "Дополнительные вопросы:\n", + "1)Какая команда конвертирует файл в py из ipynb? \n", + "подсказка https://t.me/c/1937296927/1/26527 \n", + "jupitex --to py \n", + "2) Что такое пакетный менеджер? Вы пользуетесь пакетным менеджером conda или pip? Какой лучше использовать для дата сайнс?\n", + "Пакетный менеджер - инструмент для установки и управления библиотеками/пакетами\n", + "Для Data Science лучше использовать Conda - он упраляет не только Python-пакетами, но и зависимостями системы, библиотеками (NumPy, SciPy) с нативными расширениями.\n", + "3) Почему расширение py лучше чем ipynb?\n", + "- удобнее для версионирования (Git лучше работает с текстом)\n", + "- Линтеры (Pilint, Pidocstyle) корректно работают только .py\n", + "- проще ревью кода\n", + "- лучше для продакшн-кода и автоматизации\n", + "4) Что такое pep8? \n", + "подсказка:https://peps.python.org/pep-0008/\n", + "pep8 - официальный стиль кода Python.\n", + "4.1) линтеры проверяют на соблюдение pep8?\n", + "Да. Flake8 и Pylint проверяют на соответствие pep8. \n", + "4.2) Какая нотация используется для создания переменных? \n", + "ответ на 85-95 страницы https://t.me/c/1937296927/1/16676\n", + "snake_case (нижнее подчеркивание), например, first_variable\n", + "4.3) Может ли переменная состоять из одной буквы например андерскор \"_\" ?\n", + "Да.\n", + "4.4) Зачем и где мы используем андерскор _ \n", + "в начале два и конце переменных\n", + "4.5) По PEP8 допустима переменная в одну букву?\n", + "ответ на 85-95 страницы https://t.me/c/1937296927/1/16676\n", + "да, но не рекомендовано для обычных переменных. Лучше использовать понятные имена. Исключения - в циклах, в малых областях видимости. \n" + ] + } + ], + "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.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/quiz1.py b/quiz1.py new file mode 100644 index 00000000..3d3cc0e9 --- /dev/null +++ b/quiz1.py @@ -0,0 +1,158 @@ +"""Quiz 1.""" + +# Список вопросов к видео https://youtu.be/hW_7hodGxVU?si=tCEVs00xGt2q61eW (АЛГОРИТМ ПРИНЯТИЯ И ОТДАЧИ ДОМАШКИ): +# +# (По желанию )В ответе подробно всё опишите и обязательно нужно указывать тайм код из видео где я это сказал, по желанию, дополнительно прикладываем скриншот из видео. +# Если вы знаете ответы на вопросы из Вашего опыта, то таймкоды из видео не надо указывать и т.д. +# +# 1) Как понять, что домашка пришла? +# В чате homework будет сообщение @а прими пул +# 2) Как принять домашку? +# Заходим а Гитхаб десктоп, нажимаем Fetch origin, заходим в history и смотрим самый верхний коммит. +# 3) Зачем нужна кнопка history и какие функции появляются при нажатии правой кнопки мыши на коммит? +# Кнопка history показывает коммиты. Если нажать правой кнопкой на коммит, то выйдет контекстное меню. +# +# 3.1) Где брать ссылку на коммит? куда её отправлять? +# Ссылку брать с Гитхаба и отправлять в чат homework, пишем "Коммит отдал" +# 4) Что такое файл лога? +# В файле лога нужно заполнять в конце каждого урока. В этом файле нужно писать дату и что запомнилось в течение урока. +# 4.1) Когда нужно его пушить? +# После заполнения и проверки на ошибки. +# 5) Что такое интерпритатор? +# Это программа, которая построчно выполняет команды, написанные на языке программирования. +# 6) Где можно выбрать интерпритатор? +# В правом верхнем углу. +# 7) Что такое модуль? +# Это файл с расширением .py или .ipynb. +# 8) Как создать и отправить коммит? +# Создать файл с расширением .ipynb, заполнить, проверить на ошибки, Commit&sync, Commit&push +# 9) Как посмотреть что коммит точно отправлен и находится в github? +# Коммит должен быть виден на гитхабе и в Hidtory в кошке. +# 10) Какая команда показывает что код не прошёл проверки на ошибки? +# Команда в терминале pre-commit run --all-files +# 10.1) Напишите список линтеров которые используются для проверки кода и дайте их краткую характеристику. +# Mypy - проверяет типы +# Pylint - проверяет соответствие стандартам кодирования. +# Pydocstyle - ищет отсутствие docstring +# Flake8 - обнаруживает стилистические ошибки +# +# +# 11) Как узнать какой именно линтер не прошёл проверку? +# При проверке через терминал командой pre-commit run --all-files выйдет статус Failed. +# 12) Линтер Pylint видит markdown? +# нет +# 13) Номер ячейки в терминале и номер ячейки в vs code может отличаться? в каком случае? +# Может. Линтер не видит ячейки markdown. +# 14) Где посмотреть номер ячейки в vscode? +# Можно посмотреть внизу справа. +# 15) В каком формате ipynb отправляется в гитхаб? причём здесь JSON? +# Файлы ipynb отпраляются на гитхаб в формате JSON. +# 16) Где посмотреть в какой ячейке ошибка? +# По коду ошибки или Ctrl+F. +# 17) Как запустить терминал? +# Terminal - New Terminal +# 18) Что такое линтер? +# Это программа, которая проверяет файл на корректность. +# 19) В какой сайт нужно вставлять код ошибки если ошибка связана с pylint? +# На сайт pylint.readthedocs.io +# 20) Секция pydocstyle в большинстве случае автоматический закрывается после исправления ошибок в каком линтере? +# В pylint +# 21) Что такое описание модуля? Оно должно отражать информацию о том что находится в модуле? +# Это описание того, что находится в модуле. Должно отражвть информацию о том, что находится в модуле. +# 21.1) С какой git команды начинается утро программиста? +# С команды Fetch origin. +# 22) После внесения изменений в файлах, кнопка open in vs code пропадает в кошке, как по другому открыть vs code из кошки? +# Нажать правой кнопкой на Current repository и выбрать open in VS code. +# 23) Что такое stash? +# Общее объяснение концепции. +# stash - буфер обмена, где можно спрятать локальные изменения. +# Мы можем временно сохранить наши изменения, не коммитя их а репозиторий, для дальнейших изменений. +# 23.1) Как сохранить стэш? +# git командa(подсказка: https://t.me/c/1937296927/3602/19531): +# git stash save "Name_stash" - сохранение в буфер обмена +# git stash apply "Number_stash" - извлечение из буфера обмена. +# Кнопка в vs code: +# Stash changes and continue +# 23.2) Как восстановить стэш(подсказка: https://t.me/c/1937296927/3602/25747)?: +# +# +# git команда(подсказка: https://t.me/c/1937296927/3602/19531)?: +# git stash apply "Number_stash" +# 23.3) Различие между стэшем и коммитом. +# Когда лучше сохранить изменения в стэше, а когда коммитить. +# Коммитить - когда мы завершили действия и можем вылоожить в ветку. +# Стэшить - когда мы не завершили работу и хотим вернуться, чтобы доделать. +# 23.4) Как просмотреть список сохраненных стэшей? +# git команда (подсказка: https://t.me/c/1937296927/3602/19531): +# git stash list +# 23.5) Как удалить стэш? +# Команды для удаления отдельных стэшей или всех сразу. +# git команда (подсказка: https://t.me/c/1937296927/3602/19531): +# git stash drop +# git stash clean +# 23.6) Практические примеры использования стэша. +# Краткие сценарии, где стэш помогает. +# Спрятать изменения в моменте, когда нужно поработать над другой задачей +# Спрятать измения, когда возник конфликт. +# 24) Где посмотреть что есть конфликт в файлах? +# Рядом с файлом readme будет стоять треугольник с восклицательным знаком. Нажимаем Open in VS Code. Зеленым цветом будет выделено то, что с гитхаба, синим - локальные изменения. +# 24.1) Когда он появляется? +# Когда в файле работвют одновременно два человека. +# 25) Как решить конфликт в файлах? +# Нажать Reserve in Merge Editor, Complete Merge. +# 26) Напишиие правильное утверждение +# -Зелёное то что пришло с гитхаба и синее локальные изменения или синее то что пришло с гитхаба и зелёное это локальные изменения +# Зеленое - с гитхаба +# Синее - локальные изменения. +# 27) Если мы работаем в одном файле, можно ли принять pull после того как вы спрячете в стэш свои изменения? +# да, можно. +# 27.1) Что может произойти когда stash восстановите после принятия pull? +# Может произойти конфликт. +# 28) Сколько способов решения конфликтов было показано в видео? Напишите ЧИСЛО и укажите их способы. +# 2 способа +# 1 способ - с помощью Accept Incoming Change,Accept Current Change, Accept Both Changes +# 2 способ - вручную удалить то что не нужно. +# 29) Что делает кнопка complete merge? +# Смерживает конечные изменения из конфликтов в один. +# 30) В какой чат нужно писать если остались вопросы? +# в чат HELP ME +# 31) Что такое FORK? Зачем его делают? +# Форк - это копия чужого репозитория. Делают, чтобы вносить изменения, не затрагивая оригинала. +# 32) Как скачать форкнутый репозиторий на локальный компьютер? +# Нажать на него, выбрать Open in GitHub Desktop, затем Clone +# 33) С какой вероятностью ваши ошибки были уже решены? и кто их решил? +# C вероятностью 90%. Их решил Сенаторов Руслан Олегович. +# 34) Как создать файл в vs code? +# Нажать на листочек с плюсиком и ввести название и формат файла. +# 35) Файл лога нужно заполнять в конце каждого урока? +# Да. +# ================== +# +# Дополнительные вопросы: +# 1)Какая команда конвертирует файл в py из ipynb? +# подсказка https://t.me/c/1937296927/1/26527 +# jupitex --to py +# 2) Что такое пакетный менеджер? Вы пользуетесь пакетным менеджером conda или pip? Какой лучше использовать для дата сайнс? +# Пакетный менеджер - инструмент для установки и управления библиотеками/пакетами +# Для Data Science лучше использовать Conda - он упраляет не только Python-пакетами, но и зависимостями системы, библиотеками (NumPy, SciPy) с нативными расширениями. +# 3) Почему расширение py лучше чем ipynb? +# - удобнее для версионирования (Git лучше работает с текстом) +# - Линтеры (Pilint, Pidocstyle) корректно работают только .py +# - проще ревью кода +# - лучше для продакшн-кода и автоматизации +# 4) Что такое pep8? +# подсказка:https://peps.python.org/pep-0008/ +# pep8 - официальный стиль кода Python. +# 4.1) линтеры проверяют на соблюдение pep8? +# Да. Flake8 и Pylint проверяют на соответствие pep8. +# 4.2) Какая нотация используется для создания переменных? +# ответ на 85-95 страницы https://t.me/c/1937296927/1/16676 +# snake_case (нижнее подчеркивание), например, first_variable +# 4.3) Может ли переменная состоять из одной буквы например андерскор "_" ? +# Да. +# 4.4) Зачем и где мы используем андерскор _ +# в начале два и конце переменных +# 4.5) По PEP8 допустима переменная в одну букву? +# ответ на 85-95 страницы https://t.me/c/1937296927/1/16676 +# да, но не рекомендовано для обычных переменных. Лучше использовать понятные имена. Исключения - в циклах, в малых областях видимости. +# diff --git a/quiz2.ipynb b/quiz2.ipynb new file mode 100644 index 00000000..6cfd0aba --- /dev/null +++ b/quiz2.ipynb @@ -0,0 +1,350 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "f2a093aa", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Quiz 2.'" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"Quiz 2.\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "9f4a527e", + "metadata": {}, + "source": [ + "Выполнение заданий по Питону \n", + "\n", + "Список вопросов к видео https://youtu.be/Si9MfV8uJ-0?si=JXHe-tsgOEwSTI5E (НАСТРОЙКА VSCODE, перенос строк, линтеры, работа с ячейками):\n", + "\n", + "\n", + "(По желанию)В ответе подробно всё опишите и обязательно нужно указывать тайм код из видео где я это сказал, по желанию, дополнительно прикладываем скриншот из видео.\n", + "\n", + "Если вы знаете ответы на вопросы из Вашего опыта, то таймкоды из видео не надо указывать и т.д.\n", + "\n", + "\n", + "1. Как включить автосохранение данных в VSCODE?\n", + "\n", + "\n", + "File - Auto Save\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&t=14\n", + "\n", + "\n", + "2. Как настроить перенос строки? \n", + "\n", + "\n", + "Preferences-Settings, в поисковую строку пишем wrap, в поле Editor в контекстном меню выбираем WordWrapColumn, длина строки 79, нажимаем Enter.\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&t=34\n", + "\n", + "\n", + "3. Сколько символов по pep8 разрешено на строке?\n", + "\n", + "\n", + "79\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=1m28s\n", + "\n", + "\n", + "4. Какие способы переноса строк показаны в видео:\n", + "\n", + "\n", + "Вариант 1.\n", + "\n", + "перенос комментариев - с помощью #\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ?=1m55s\n", + "\n", + "перенос кода - взять в скобки ( )\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=2m36s\n", + "\n", + "Вариант 2.\n", + "\n", + "длинную переменную разбить на две переменные, затем “склеить\" их, например, name_sum=name_1+name_2\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=4m\n", + "\n", + "\n", + "4.1 Строки с использованием обратного слэша (\\)\n", + "\n", + "\n", + "string_continued = \"This is a long string that we want to \" \\\n", + "\n", + " \"split across multiple lines.\"\n", + "\n", + "print(string_continued)\n", + "\n", + "\n", + "\n", + "4.2 Тройные кавычки (''' или \"\"\") \n", + "\n", + "\n", + "multi_line_string = \"\"\"This is a string that spans\n", + "\n", + "multiple lines. You can write freely\n", + "\n", + "and it will keep the line breaks.\"\"\"\n", + "\n", + "print(multi_line_string)\n", + "\n", + "\n", + "4.3 Создание списка строк и объединение с помощью join\n", + "\n", + "\n", + "strings = [\n", + "\n", + " \"This is the first line.\",\n", + "\n", + " \"This is the second line.\",\n", + "\n", + " \"This is the third line.\"\n", + "\n", + "]\n", + "\n", + "result = \"\\n\".join(strings) # Используем перенос строк '\\n'\n", + "\n", + "print(result)\n", + "\n", + "\n", + "4.4 Использование круглых скобок для продолжения строки\n", + "\n", + "long_string = (\n", + "\n", + " \"This is a very long string that I would like to \"\n", + "\n", + " \"continue on the next line.\"\n", + "\n", + ")\n", + "\n", + "print(long_string)\n", + "\n", + "\n", + "4.5 Форматированные строки (f-строки) с использованием скобок\n", + "\n", + "letter_a = 5\n", + "\n", + "letter_b = 6\n", + "\n", + "product_ab = letter_a * letter_b\n", + "\n", + "\n", + "message = (\n", + "\n", + " f\"when {letter_a} is multiplied by {letter_b}, \"\n", + "\n", + " f\"the result is {product_ab}\"\n", + "\n", + ")\n", + "\n", + "print(message)\n", + "\n", + "\n", + "4.6 Сложение строк с помощью +\n", + "\n", + "\n", + "string_part1 = \"This is the first part, \"\n", + "\n", + "string_part2 = \"and this is the second part.\"\n", + "\n", + "full_string = string_part1 + string_part2\n", + "\n", + "print(full_string)\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=3m55s\n", + "\n", + "\n", + "5. Проверка на ошибки c помощью кнопки problems, где она находится?\n", + "\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=4m49s\n", + "\n", + "Находится внизу окна редактора, слева. \n", + "\n", + "\n", + "6. Где в vscode находится клиент гита? как в нём отправить коммит? как принять домашку?\n", + "\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=6m24s\n", + "\n", + "Клиент находится в левой части окна(три кружочка)\n", + "\n", + "Чтобы отправить коммит, пишем коммит, затем нажимаем Commit\n", + "\n", + "Домашка принимается с помощью кнопки Pull.\n", + "\n", + "\n", + "7. Что такое GIT? он локальный? В нём можно посмотреть историю изменений файлов и вернуться к любому коммиту?\n", + "\n", + "\n", + "Git - это контроль версий. да, можно посмотреть \n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=7m12s\n", + "\n", + "\n", + "8. Как вставить картинку в маркдаун? \n", + "\n", + "\n", + "С помощью сочетания клавиш Ctrl+V\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=8m03s\n", + "\n", + "\n", + "9. Где посмотреть длину строки в vs code?\n", + "\n", + "Скопировать строку в файл с расширением .py, внизу справа показывается количество символов. \n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=1m25s\n", + "\n", + "\n", + "\n", + "10. Как поменять тип ячейки с питона на маркдаун?\n", + "\n", + "По умолчанию создается тип ячейки Code. Нажать на тип Python и выбрать в ниспадающем меню Markdown.\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=8m08s\n", + "\n", + "\n", + "11. Как запустить сразу все ячейки в юпитере?\n", + "\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=8m36s\n", + "\n", + "\n", + "Нажать Run All - запуск всех ячеек одновременно. \n", + "\n", + "\n", + "12. Как изменить размер картинки в юпитере? Нужно для этого знать HTML?\n", + "\n", + "img are, ссылка на картинку и её размер\n", + "\n", + "Да, нужно знать.\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=8m21s\n", + "\n", + "\n", + "13. Какой хоткей чтобы запустить ячейку с смещением на следующую?\n", + "\n", + "\n", + "Shift+Enter\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=8m49s\n", + "\n", + "\n", + "14. Как включить отображение номеров строк в юпитере(Cell line numbers)?\n", + "\n", + "Нажимаем на три точки в правом нижнем углу окна редактора и выбираем Show Cell line Number.\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=9m17s\n", + "\n", + "\n", + "15. Что такое \"Go To\" чем это полезно? Как перейти сразу на ошибочную ячейку?\n", + "\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=9m41s\n", + "\n", + "Показывает, в какой ячейке ошибка. Схватываем проблемную ячейку и тащим вниз, нажимаем “Go To”\n", + "\n", + "\n", + "16. Как очистить вывод ячеек которые уже запущены?\n", + "\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=10m51s\n", + "\n", + "Нужно нажать Clear All Outputs.\n", + "\n", + "\n", + "17. Как работать одновременно в нескольких файлах в VSCODE? Что такое SPLIT?\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=11m03s\n", + "\n", + "Split Editor позволяет работать одновременно в нескольких файлах. \n", + "\n", + "\n", + "18. Каким сочетанием убирается левый сайдбар?\n", + "\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=11m23s\n", + "\n", + "Ctrl+B, либо просто нажимаем на активное окно.\n", + "\n", + "\n", + "19. Кнопка два листочка это наши локальные файлы?\n", + "\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=11m36s\n", + "\n", + "Да\n", + "\n", + "\n", + "20. Какая ошибка появилась в трассировке при запуске всех ячеек DICT или LIST?\n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=9m23s\n", + "\n", + "\n", + "21. Вы ознакомились с https://t.me/c/1937296927/832/19307? и https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet?\n", + "\n", + "\n", + "Ознакомилась\n", + "\n", + "\n", + "22. Что такое валидация?\n", + "\n", + "\n", + "Это проверка соответствия программного кода определённым правилам.\n", + "\n", + "\n", + "23. Что такое трассировка ошибки?\n", + "\n", + "\n", + "Трассировка - это визуализация ошибки \n", + "\n", + "https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=10m05s\n", + "\n", + "\n", + "24. Что значит отвалился интерпретатор?\n", + "\n", + "Это означает, что интерпритатор перестал работать или быть доступным, из-за чего программный код, который от него зависел, не может запуститься, выполнить команды или выдать ошибку. \n", + "\n" + ] + } + ], + "metadata": { + "jupytext": { + "formats": "ipynb,py:light" + }, + "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.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/quiz2.py b/quiz2.py new file mode 100644 index 00000000..85fb8870 --- /dev/null +++ b/quiz2.py @@ -0,0 +1,297 @@ +"""Quiz 2.""" + +# Выполнение заданий по Питону +# +# Список вопросов к видео https://youtu.be/Si9MfV8uJ-0?si=JXHe-tsgOEwSTI5E (НАСТРОЙКА VSCODE, перенос строк, линтеры, работа с ячейками): +# +# +# (По желанию)В ответе подробно всё опишите и обязательно нужно указывать тайм код из видео где я это сказал, по желанию, дополнительно прикладываем скриншот из видео. +# +# Если вы знаете ответы на вопросы из Вашего опыта, то таймкоды из видео не надо указывать и т.д. +# +# +# 1. Как включить автосохранение данных в VSCODE? +# +# +# File - Auto Save +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&t=14 +# +# +# 2. Как настроить перенос строки? +# +# +# Preferences-Settings, в поисковую строку пишем wrap, в поле Editor в контекстном меню выбираем WordWrapColumn, длина строки 79, нажимаем Enter. +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&t=34 +# +# +# 3. Сколько символов по pep8 разрешено на строке? +# +# +# 79 +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=1m28s +# +# +# 4. Какие способы переноса строк показаны в видео: +# +# +# Вариант 1. +# +# перенос комментариев - с помощью # +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ?=1m55s +# +# перенос кода - взять в скобки ( ) +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=2m36s +# +# Вариант 2. +# +# длинную переменную разбить на две переменные, затем “склеить" их, например, name_sum=name_1+name_2 +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=4m +# +# +# 4.1 Строки с использованием обратного слэша (\) +# +# +# string_continued = "This is a long string that we want to " \ +# +# "split across multiple lines." +# +# print(string_continued) +# +# +# +# 4.2 Тройные кавычки (''' или """) +# +# +# multi_line_string = """This is a string that spans +# +# multiple lines. You can write freely +# +# and it will keep the line breaks.""" +# +# print(multi_line_string) +# +# +# 4.3 Создание списка строк и объединение с помощью join +# +# +# strings = [ +# +# "This is the first line.", +# +# "This is the second line.", +# +# "This is the third line." +# +# ] +# +# result = "\n".join(strings) # Используем перенос строк '\n' +# +# print(result) +# +# +# 4.4 Использование круглых скобок для продолжения строки +# +# long_string = ( +# +# "This is a very long string that I would like to " +# +# "continue on the next line." +# +# ) +# +# print(long_string) +# +# +# 4.5 Форматированные строки (f-строки) с использованием скобок +# +# letter_a = 5 +# +# letter_b = 6 +# +# product_ab = letter_a * letter_b +# +# +# message = ( +# +# f"when {letter_a} is multiplied by {letter_b}, " +# +# f"the result is {product_ab}" +# +# ) +# +# print(message) +# +# +# 4.6 Сложение строк с помощью + +# +# +# string_part1 = "This is the first part, " +# +# string_part2 = "and this is the second part." +# +# full_string = string_part1 + string_part2 +# +# print(full_string) +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=3m55s +# +# +# 5. Проверка на ошибки c помощью кнопки problems, где она находится? +# +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=4m49s +# +# Находится внизу окна редактора, слева. +# +# +# 6. Где в vscode находится клиент гита? как в нём отправить коммит? как принять домашку? +# +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=6m24s +# +# Клиент находится в левой части окна(три кружочка) +# +# Чтобы отправить коммит, пишем коммит, затем нажимаем Commit +# +# Домашка принимается с помощью кнопки Pull. +# +# +# 7. Что такое GIT? он локальный? В нём можно посмотреть историю изменений файлов и вернуться к любому коммиту? +# +# +# Git - это контроль версий. да, можно посмотреть +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=7m12s +# +# +# 8. Как вставить картинку в маркдаун? +# +# +# С помощью сочетания клавиш Ctrl+V +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=8m03s +# +# +# 9. Где посмотреть длину строки в vs code? +# +# Скопировать строку в файл с расширением .py, внизу справа показывается количество символов. +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=1m25s +# +# +# +# 10. Как поменять тип ячейки с питона на маркдаун? +# +# По умолчанию создается тип ячейки Code. Нажать на тип Python и выбрать в ниспадающем меню Markdown. +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=8m08s +# +# +# 11. Как запустить сразу все ячейки в юпитере? +# +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=8m36s +# +# +# Нажать Run All - запуск всех ячеек одновременно. +# +# +# 12. Как изменить размер картинки в юпитере? Нужно для этого знать HTML? +# +# img are, ссылка на картинку и её размер +# +# Да, нужно знать. +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=8m21s +# +# +# 13. Какой хоткей чтобы запустить ячейку с смещением на следующую? +# +# +# Shift+Enter +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=8m49s +# +# +# 14. Как включить отображение номеров строк в юпитере(Cell line numbers)? +# +# Нажимаем на три точки в правом нижнем углу окна редактора и выбираем Show Cell line Number. +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=9m17s +# +# +# 15. Что такое "Go To" чем это полезно? Как перейти сразу на ошибочную ячейку? +# +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=9m41s +# +# Показывает, в какой ячейке ошибка. Схватываем проблемную ячейку и тащим вниз, нажимаем “Go To” +# +# +# 16. Как очистить вывод ячеек которые уже запущены? +# +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=10m51s +# +# Нужно нажать Clear All Outputs. +# +# +# 17. Как работать одновременно в нескольких файлах в VSCODE? Что такое SPLIT? +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=11m03s +# +# Split Editor позволяет работать одновременно в нескольких файлах. +# +# +# 18. Каким сочетанием убирается левый сайдбар? +# +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=11m23s +# +# Ctrl+B, либо просто нажимаем на активное окно. +# +# +# 19. Кнопка два листочка это наши локальные файлы? +# +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=11m36s +# +# Да +# +# +# 20. Какая ошибка появилась в трассировке при запуске всех ячеек DICT или LIST? +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=9m23s +# +# +# 21. Вы ознакомились с https://t.me/c/1937296927/832/19307? и https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet? +# +# +# Ознакомилась +# +# +# 22. Что такое валидация? +# +# +# Это проверка соответствия программного кода определённым правилам. +# +# +# 23. Что такое трассировка ошибки? +# +# +# Трассировка - это визуализация ошибки +# +# https://youtu.be/Si9MfV8uJ-0?si=U4yGy8-OCkDu1cRZ&=10m05s +# +# +# 24. Что значит отвалился интерпретатор? +# +# Это означает, что интерпритатор перестал работать или быть доступным, из-за чего программный код, который от него зависел, не может запуститься, выполнить команды или выдать ошибку. +# +# diff --git a/std out b/std out new file mode 100644 index 00000000..e2af5261 --- /dev/null +++ b/std out @@ -0,0 +1,223 @@ +commit 1fc080684dc2f3926711adaa8d482161a286881e (HEAD -> main, upstream/main, upstream/HEAD, origin/main, origin/HEAD) +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Thu Dec 18 01:18:34 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit 8458cf2836320fd4d75a9d1332044763b899d694 +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Thu Dec 18 01:16:03 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit e9d9583ad3166caf442036fd51bbd5e9e1b05d9e +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Thu Dec 18 01:15:41 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit 4f8a6e28b1047889e0e72a611bdbc48de7c5c7b9 +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Thu Dec 18 01:14:31 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit 07bc4ad4bf9714212e60368c45870befd81a3743 +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Sat Dec 13 16:37:45 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit 0589cd0d4d243de3676cca8e378d3469b4c14de5 +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Sat Dec 13 16:36:53 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit c5f8f9d6264ceca49faf075b8affbc84eb2a8418 +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Mon Dec 1 03:42:45 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit 79ac80d08c6e2826fd2f4506bfe873db1eb3cb67 +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Fri Nov 28 19:02:14 2025 +0300 + + 120 + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit 7d9f06351f04884e4f16bde85c4db8c2e45dd152 +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Tue Nov 25 04:27:45 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit 4e07c9d220c04a03d341551bdb94d687e978d506 +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Tue Nov 25 04:25:50 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit dc3d33b66fb63a1ca68c43bd25d51344caf0f277 +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Tue Nov 25 04:22:40 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit 1ed30fa45a59e77ee9a96594bc3b1ddbf99fa5b5 +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Tue Nov 25 04:22:19 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit 0d397a8b39e8f3560e76c25d2637a5bbdde542a5 +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Tue Nov 25 04:21:03 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit 11f63e86bb45becb7affabfdde03cb6b5a672b67 +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Tue Nov 25 04:19:36 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit 1e9438a397d34c2f296fca3e19ee6404929f7711 +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Tue Nov 25 04:14:14 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit fd4e5a1fee92c7ef330f727fcf6fbb4e25ad9fea +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Tue Nov 25 04:12:53 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit 0d77ab2dfda6a798de21ddff25d98d6c409aabee +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Tue Nov 25 04:09:56 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit db1ec3f5139ff9b5fa941df2fc8b8bf1bb82c832 +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Sun Nov 23 22:36:24 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit f729a1cc82bbec2c6666c5bbf7c110c6020a469d +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Thu Nov 6 16:39:42 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit 9ecfbec0409ad19c8b118a46fd2a0242d5d06204 +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Thu Nov 6 16:38:10 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit f71a705e33426c28abd34dcc61a382144935cb9c +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Thu Nov 6 16:33:56 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit 60a6d291d1f2991be09b8e8e0c6d6a0c5c553615 +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Thu Nov 6 16:07:55 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit 2750d42c4919f5847a71970d506b84c6d7cd6533 +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Thu Nov 6 15:55:23 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit b089c54231bc8635cba75a2072428a207790c198 +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Thu Nov 6 15:45:49 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit c63b0d91bc854f0bff8cf788521099e39a40bd9e +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Thu Nov 6 15:39:18 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit fc07c2af1c6f44e8e6739c562f28fa08c87d563e +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Thu Nov 6 15:33:02 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit 2a17b416637022b87b9a12ba519e7496139d1ac5 +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Thu Nov 6 15:24:53 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> + +commit 0ab494ffe89725095c20db976c31bc9c2d301b8f +Author: Ruslan Senatorov <55090151+ruslansenatorov@users.noreply.github.com> +Date: Thu Nov 6 15:19:22 2025 +0300 + + Update README.md + + Signed-off-by: Ruslan Senatorov <55090151+ruslanse \ No newline at end of file