From bba3cd6de4b1e85bd2a74d79a3993ffab03bb1a3 Mon Sep 17 00:00:00 2001 From: Sergey Stuliev Date: Wed, 4 Mar 2026 16:22:42 +0300 Subject: [PATCH] [TASK] Quiz #6 (https://github.com/SENATOROVAI/intro-cs/issues/6) Closes https://github.com/SENATOROVAI/intro-cs/issues/6 --- .pre-commit-config.yaml | 32 ++++---- quiz1.ipynb | 172 ++++++++++++++++++++++++++++++++++++++++ quiz1.py | 146 ++++++++++++++++++++++++++++++++++ quiz2.ipynb | 139 ++++++++++++++++++++++++++++++++ quiz2.py | 114 ++++++++++++++++++++++++++ 5 files changed, 587 insertions(+), 16 deletions(-) create mode 100644 quiz1.ipynb create mode 100644 quiz1.py create mode 100644 quiz2.ipynb create mode 100644 quiz2.py diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a992a51a..7cc86de5 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/mwouts/jupytext - rev: "v1.16.4b" + rev: "v1.19.1" hooks: - id: jupytext entry: jupytext @@ -15,17 +15,17 @@ 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] - repo: https://github.com/psf/black.git - rev: "24.10.0" + rev: "26.1.0" hooks: - id: black - repo: https://github.com/nbQA-dev/nbQA - rev: 1.9.0 + rev: 1.9.1 hooks: - id: nbqa-black name: nbqa-black @@ -36,12 +36,12 @@ repos: types_or: [jupyter, markdown] additional_dependencies: [black] - repo: https://github.com/asottile/pyupgrade - rev: "v3.19.0" + rev: "v3.21.2" hooks: - id: pyupgrade args: [--py39-plus] - repo: https://github.com/pycqa/isort - rev: "5.13.2" + rev: "8.0.0" hooks: - id: isort entry: isort @@ -50,7 +50,7 @@ repos: - --float-to-top - repo: https://github.com/nbQA-dev/nbQA - rev: "1.9.0" + rev: "1.9.1" hooks: - id: nbqa entry: nbqa blacken-docs @@ -60,7 +60,7 @@ repos: args: - --nbqa-md - repo: https://github.com/nbQA-dev/nbQA - rev: 1.9.0 + rev: 1.9.1 hooks: - id: nbqa-pyupgrade name: nbqa-pyupgrade @@ -83,7 +83,7 @@ repos: - --float-to-top - repo: https://github.com/codespell-project/codespell - rev: v2.3.0 + rev: v2.4.1 hooks: - id: codespell additional_dependencies: @@ -94,7 +94,7 @@ repos: - --skip=*.js,*.html,*.css,*.svg",*.json,*.png,*.jpg,*.yml,*.yaml exclude: '^python/makarov/|^python/oop\.ipynb$' - repo: https://github.com/nbQA-dev/nbQA - rev: 1.9.0 + rev: 1.9.1 hooks: - id: nbqa-flake8 args: @@ -112,7 +112,7 @@ repos: - flake8-functions-names - repo: https://github.com/PyCQA/flake8 - rev: 7.1.1 + rev: 7.3.0 hooks: - id: flake8 args: @@ -124,7 +124,7 @@ repos: - flake8-functions-names - repo: https://github.com/nbQA-dev/nbQA - rev: 1.9.0 + rev: 1.9.1 hooks: - id: nbqa-mypy name: nbqa-mypy @@ -169,7 +169,7 @@ repos: - repo: https://github.com/pre-commit/mirrors-mypy - rev: v1.13.0 + rev: v1.19.1 hooks: - id: mypy args: @@ -207,7 +207,7 @@ repos: - types-setuptools - repo: https://github.com/nbQA-dev/nbQA - rev: 1.9.0 + rev: 1.9.1 hooks: - id: nbqa-pylint name: nbqa-pylint @@ -225,7 +225,7 @@ repos: - repo: https://github.com/pylint-dev/pylint - rev: "v3.3.1" + rev: "v4.0.5" hooks: - id: pylint name: pylint @@ -242,7 +242,7 @@ repos: additional_dependencies: [pylint] - repo: https://github.com/nbQA-dev/nbQA - rev: 1.9.0 + rev: 1.9.1 hooks: - id: nbqa-pydocstyle name: nbqa-pydocstyle diff --git a/quiz1.ipynb b/quiz1.ipynb new file mode 100644 index 00000000..01741bf6 --- /dev/null +++ b/quiz1.ipynb @@ -0,0 +1,172 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "cf423924", + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"Quiz 1.\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "aa927456", + "metadata": {}, + "source": [ + "'Quiz 1.'\n", + "\n", + "Список вопросов к видео https://youtu.be/hW_7hodGxVU?si=tCEVs00xGt2q61eW (АЛГОРИТМ ПРИНЯТИЯ И ОТДАЧИ ДОМАШКИ):\n", + " \n", + "(По желанию )В ответе подробно всё опишите и обязательно нужно указывать тайм код из видео где я это сказал, по желанию, дополнительно прикладываем скриншот из видео.\n", + "Если вы знаете ответы на вопросы из Вашего опыта, то таймкоды из видео не надо указывать и т.д.\n", + "\n", + "1) Как понять, что домашка пришла?\n", + "В чате homework будет тег и сообщение - прими пул.\n", + "2) Как принять домашку?\n", + "Заходим а \"Кошку\" (Github desktop), нажимаем Fetch origin, заходим в history и смотрим самый верхний коммит.\n", + "3) Зачем нужна кнопка history и какие функции появляются при нажатии правой кнопки мыши на коммит?\n", + "Кнопка history показывает историю коммитов. Если нажать правой кнопкой на коммит, то выйдет контекстное меню.\n", + "3.1) Где брать ссылку на коммит? куда её отправлять?\n", + "Ссылку брать с Гитхаба (в \"Кошке\" можно нажать правой кнопкой мыши по коммиту и перейти на гитхаб) и отправлять в чат homework, пишем \"Коммит отдал\".\n", + "4) Что такое файл лога?\n", + "Это - текстовый файл, куда автоматически записывается важная информация.\n", + "4.1) Когда нужно его пушить?\n", + "После заполнения и проверки на ошибки.\n", + "5) Что такое интерпретатор? \n", + "Программа, которая выполняет код, написанный на языке программирования.\n", + "6) Где можно выбрать интерпретатор?\n", + "В правом верхнем углу ячейки с кодом в файле с расширением .ipynb.\n", + "7) Что такое модуль?\n", + "Это файл с кодом и расширением .py или .ipynb. \n", + "8) Как создать и отправить коммит?\n", + "Нажать в кошке Commit&sync, Commit&push.\n", + "9) Как посмотреть что коммит точно отправлен и находится в github?\n", + "Коммит должен быть виден на github и в History в \"Кошке\".\n", + "10) Какая команда показывает что код не прошёл проверки на ошибки?\n", + "Команда в терминале pre-commit run --all-files.\n", + "10.1) Напишите список линтеров которые используются для проверки кода и дайте их краткую характеристику.\n", + "Mypy: статический анализатор типов, проверяет корректность аннотаций типов без выполнения кода.\n", + "Pylint: комплексный линтер, оценивает стиль, читаемость, ошибки и соответствие PEP 8.\n", + "Pydocstyle: фокусируется на документации, ищет отсутствие или некорректные docstring.\n", + "Flake8: быстрый инструмент для стиля, сочетает для выявления ошибок и нарушений PEP 8.\n", + "11) Как узнать какой именно линтер не прошёл проверку?\n", + "При проверке через терминал командой pre-commit run --all-files у линтера который не прошел проверку будет статус Failed.\n", + "12) Линтер Pylint видит markdown?\n", + "Нет.\n", + "13) Номер ячейки в терминале и номер ячейки в vs code может отличаться? в каком случае?\n", + "Номер ячейки в терминале и номер ячейки в vs code может отличаться. Потому что линтер не видит ячейки markdown.\n", + "14) Где посмотреть номер ячейки в vscode?\n", + "Справа внизу от ячейки\n", + "15) В каком формате ipynb отправляется в гитхаб? причём здесь JSON?\n", + "Файлы с расширением .ipynb отпраляются на гитхаб в формате JSON. JSON здесь при том, что .ipynb — это и есть JSON-файл.\n", + "Расширение другое, но формат внутри — обычный JSON-текст.\n", + "То есть Jupyter Notebook — это просто структурированный JSON-документ.\n", + "16) Где посмотреть в какой ячейке ошибка?\n", + "Рядом с кодом ошибки или с помощью сочетания клавиш CTRL + F.\n", + "17) Как запустить терминал?\n", + "В VScode нажать 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", + "Git stash — это встроенный механизм Git для временного сохранения незакоммиченных изменений в рабочей директории и индексе, чтобы очистить их и продолжить работу (например, переключиться на другую ветку).\n", + "23.1) Как сохранить стэш?\n", + " git командa(подсказка: https://t.me/c/1937296927/3602/19531): git stash save \"Name_stash\" - сохранение в буфер обмена git stash apply \"Number_stash\" - извлечение из буфера обмена.\n", + "\n", + " Кнопка в vs code: Кнопка в vs code: Stash changes and continue.\n", + "\n", + "23.2) Как восстановить стэш(подсказка: https://t.me/c/1937296927/3602/25747)?: Командой git stash apply.\n", + "\n", + " git команда(подсказка: https://t.me/c/1937296927/3602/19531)?: git stash apply\n", + "\n", + "23.3) Различие между стэшем и коммитом.\n", + "Коммит нужно делать - когда мы завершили действия и можем вылоожить в ветку. Стеш нужно делать - когда мы не завершили работу и хотим вернуться, чтобы доделать.\n", + " Когда лучше сохранить изменения в стэше, а когда коммитить.\n", + "23.4) Как просмотреть список сохраненных стэшей?\n", + " git команда (подсказка: https://t.me/c/1937296927/3602/19531): git stash list\n", + "\n", + "23.5) Как удалить стэш?\n", + " Команды для удаления отдельных стэшей или всех сразу.\n", + " git команда (подсказка: https://t.me/c/1937296927/3602/19531): git stash drop git stash clean\n", + "\n", + "23.6) Практические примеры использования стэша. \n", + " Краткие сценарии, где стэш помогает.\n", + " Когда нужно Спрятать изменения, когда возник конфликт или спрятать изменения, когда нужно поработать над другой задачей.\n", + "\n", + "24) Где посмотреть что есть конфликт в файлах? Рядом с файлом readme будет стоять треугольник с восклицательным знаком. Нажимаем Open in VS Code. Зеленым цветом будет выделено то, что с гитхаба, синим - локальные изменения.\n", + "24.1) Когда он появляется?\n", + "Когда с файлами работают одновременно два человека.\n", + "25) Как решить конфликт в файлах?\n", + "Нажать Reserve in Merge Editor, Complete Merge.\n", + "26) Напишите правильное утверждение\n", + "-Зелёное то что пришло с гитхаба и синее локальные изменения или синее то что пришло с гитхаба и зелёное это локальные изменения\n", + "Зеленое - то что пришло с github Синее - локальные изменения.\n", + "27) Если мы работаем в одном файле, можно ли принять pull после того как вы спрячете в стэш свои изменения?\n", + "Да.\n", + "27.1) Что может произойти когда stash восстановите после принятия pull?\n", + "Может произойти конфликт.\n", + "28) Сколько способов решения конфликтов было показано в видео? Напишите ЧИСЛО и укажите их способы.\n", + "В видео было показано 2 способа: 1 способ - с помощью Accept Incoming Change,Accept Current Change, Accept Both Changes 2 способ - вручную удалить то что не нужно.\n", + "29) Что делает кнопка complete merge?\n", + "Завершает процесс merge после разрешения конфликтов.\n", + "30) В какой чат нужно писать если остались вопросы?\n", + "В чат HELP ME.\n", + "31) Что такое FORK? Зачем его делают?\n", + "FORK - это копия чужого репозитория. Его делают, чтобы вносить изменения, не затрагивая оригинала.\n", + "32) Как скачать форкнутый репозиторий на локальный компьютер?\n", + "Нажать на него, выбрать Open in GitHub Desktop, затем клонировать с помощью Clone.\n", + "33) С какой вероятностью ваши ошибки были уже решены? и кто их решил?\n", + "C вероятностью 90%. Их решил Сенаторов Руслан Олегович или другие участники школы.\n", + "34) Как создать файл в vs code?\n", + "В VScode в explorer (обозреватель) нажать New File...\n", + "35) Файл лога нужно заполнять в конце каждого урока?\n", + "Да.\n", + "==================\n", + "\n", + "Дополнительные вопросы:\n", + "1)Какая команда конвертирует файл в py из ipynb? jupitex --to py\n", + "подсказка https://t.me/c/1937296927/1/26527\n", + "2) Что такое пакетный менеджер? Вы пользуетесь пакетным менеджером conda или pip? Какой лучше использовать для дата сайнс?\n", + "Пакетный менеджер - инструмент для установки и управления библиотеками/пакетами Для Data Science лучше использовать Conda - он упраляет не только Python-пакетами, но и зависимостями системы, библиотеками (NumPy, SciPy) с нативными расширениями.\n", + "3) Почему расширение py лучше чем ipynb?\n", + "1. Удобнее для версионирования (Git лучше работает с текстом).\n", + "2. Линтеры (Pilint, Pidocstyle) корректно работают только с .py, проще ревью кода.\n", + "3. Лучше для продакшн-кода и автоматизации.\n", + "4) Что такое pep8?\n", + "Pep8 - официальный стандарт стиля для кода Python.\n", + "подсказка:https://peps.python.org/pep-0008/\n", + "4.1) линтеры проверяют на соблюдение pep8?\n", + "Да. Flake8 и Pylint проверяют код на соответствие pep8. \n", + "4.2) Какая нотация используется для создания переменных?\n", + "snake_case\n", + "ответ на 85-95 страницы https://t.me/c/1937296927/1/16676\n", + "4.3) Может ли переменная состоять из одной буквы например андерскор \"_\" ?\n", + "Да.\n", + "4.4) Зачем и где мы используем андерскор _\n", + "Для замены пробелов и улучшения читаемости.\n", + "4.5) По PEP8 допустима переменная в одну букву?\n", + "Да, но не рекомендовано для обычных переменных. Лучше использовать понятные имена. Исключения - в циклах, в малых областях видимости.\n", + "ответ на 85-95 страницы https://t.me/c/1937296927/1/16676" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/quiz1.py b/quiz1.py new file mode 100644 index 00000000..43dd8648 --- /dev/null +++ b/quiz1.py @@ -0,0 +1,146 @@ +"""Quiz 1.""" + +# 'Quiz 1.' +# +# Список вопросов к видео https://youtu.be/hW_7hodGxVU?si=tCEVs00xGt2q61eW (АЛГОРИТМ ПРИНЯТИЯ И ОТДАЧИ ДОМАШКИ): +# +# (По желанию )В ответе подробно всё опишите и обязательно нужно указывать тайм код из видео где я это сказал, по желанию, дополнительно прикладываем скриншот из видео. +# Если вы знаете ответы на вопросы из Вашего опыта, то таймкоды из видео не надо указывать и т.д. +# +# 1) Как понять, что домашка пришла? +# В чате homework будет тег и сообщение - прими пул. +# 2) Как принять домашку? +# Заходим а "Кошку" (Github desktop), нажимаем Fetch origin, заходим в history и смотрим самый верхний коммит. +# 3) Зачем нужна кнопка history и какие функции появляются при нажатии правой кнопки мыши на коммит? +# Кнопка history показывает историю коммитов. Если нажать правой кнопкой на коммит, то выйдет контекстное меню. +# 3.1) Где брать ссылку на коммит? куда её отправлять? +# Ссылку брать с Гитхаба (в "Кошке" можно нажать правой кнопкой мыши по коммиту и перейти на гитхаб) и отправлять в чат homework, пишем "Коммит отдал". +# 4) Что такое файл лога? +# Это - текстовый файл, куда автоматически записывается важная информация. +# 4.1) Когда нужно его пушить? +# После заполнения и проверки на ошибки. +# 5) Что такое интерпретатор? +# Программа, которая выполняет код, написанный на языке программирования. +# 6) Где можно выбрать интерпретатор? +# В правом верхнем углу ячейки с кодом в файле с расширением .ipynb. +# 7) Что такое модуль? +# Это файл с кодом и расширением .py или .ipynb. +# 8) Как создать и отправить коммит? +# Нажать в кошке Commit&sync, Commit&push. +# 9) Как посмотреть что коммит точно отправлен и находится в github? +# Коммит должен быть виден на github и в History в "Кошке". +# 10) Какая команда показывает что код не прошёл проверки на ошибки? +# Команда в терминале pre-commit run --all-files. +# 10.1) Напишите список линтеров которые используются для проверки кода и дайте их краткую характеристику. +# Mypy: статический анализатор типов, проверяет корректность аннотаций типов без выполнения кода. +# Pylint: комплексный линтер, оценивает стиль, читаемость, ошибки и соответствие PEP 8. +# Pydocstyle: фокусируется на документации, ищет отсутствие или некорректные docstring. +# Flake8: быстрый инструмент для стиля, сочетает для выявления ошибок и нарушений PEP 8. +# 11) Как узнать какой именно линтер не прошёл проверку? +# При проверке через терминал командой pre-commit run --all-files у линтера который не прошел проверку будет статус Failed. +# 12) Линтер Pylint видит markdown? +# Нет. +# 13) Номер ячейки в терминале и номер ячейки в vs code может отличаться? в каком случае? +# Номер ячейки в терминале и номер ячейки в vs code может отличаться. Потому что линтер не видит ячейки markdown. +# 14) Где посмотреть номер ячейки в vscode? +# Справа внизу от ячейки +# 15) В каком формате ipynb отправляется в гитхаб? причём здесь JSON? +# Файлы с расширением .ipynb отпраляются на гитхаб в формате JSON. JSON здесь при том, что .ipynb — это и есть JSON-файл. +# Расширение другое, но формат внутри — обычный JSON-текст. +# То есть Jupyter Notebook — это просто структурированный JSON-документ. +# 16) Где посмотреть в какой ячейке ошибка? +# Рядом с кодом ошибки или с помощью сочетания клавиш CTRL + F. +# 17) Как запустить терминал? +# В VScode нажать 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? +# Общее объяснение концепции. +# Git stash — это встроенный механизм Git для временного сохранения незакоммиченных изменений в рабочей директории и индексе, чтобы очистить их и продолжить работу (например, переключиться на другую ветку). +# 23.1) Как сохранить стэш? +# git командa(подсказка: https://t.me/c/1937296927/3602/19531): git stash save "Name_stash" - сохранение в буфер обмена git stash apply "Number_stash" - извлечение из буфера обмена. +# +# Кнопка в vs code: Кнопка в vs code: Stash changes and continue. +# +# 23.2) Как восстановить стэш(подсказка: https://t.me/c/1937296927/3602/25747)?: Командой git stash apply. +# +# git команда(подсказка: https://t.me/c/1937296927/3602/19531)?: git stash apply +# +# 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) Напишите правильное утверждение +# -Зелёное то что пришло с гитхаба и синее локальные изменения или синее то что пришло с гитхаба и зелёное это локальные изменения +# Зеленое - то что пришло с github Синее - локальные изменения. +# 27) Если мы работаем в одном файле, можно ли принять pull после того как вы спрячете в стэш свои изменения? +# Да. +# 27.1) Что может произойти когда stash восстановите после принятия pull? +# Может произойти конфликт. +# 28) Сколько способов решения конфликтов было показано в видео? Напишите ЧИСЛО и укажите их способы. +# В видео было показано 2 способа: 1 способ - с помощью Accept Incoming Change,Accept Current Change, Accept Both Changes 2 способ - вручную удалить то что не нужно. +# 29) Что делает кнопка complete merge? +# Завершает процесс merge после разрешения конфликтов. +# 30) В какой чат нужно писать если остались вопросы? +# В чат HELP ME. +# 31) Что такое FORK? Зачем его делают? +# FORK - это копия чужого репозитория. Его делают, чтобы вносить изменения, не затрагивая оригинала. +# 32) Как скачать форкнутый репозиторий на локальный компьютер? +# Нажать на него, выбрать Open in GitHub Desktop, затем клонировать с помощью Clone. +# 33) С какой вероятностью ваши ошибки были уже решены? и кто их решил? +# C вероятностью 90%. Их решил Сенаторов Руслан Олегович или другие участники школы. +# 34) Как создать файл в vs code? +# В VScode в explorer (обозреватель) нажать New File... +# 35) Файл лога нужно заполнять в конце каждого урока? +# Да. +# ================== +# +# Дополнительные вопросы: +# 1)Какая команда конвертирует файл в py из ipynb? jupitex --to py +# подсказка https://t.me/c/1937296927/1/26527 +# 2) Что такое пакетный менеджер? Вы пользуетесь пакетным менеджером conda или pip? Какой лучше использовать для дата сайнс? +# Пакетный менеджер - инструмент для установки и управления библиотеками/пакетами Для Data Science лучше использовать Conda - он упраляет не только Python-пакетами, но и зависимостями системы, библиотеками (NumPy, SciPy) с нативными расширениями. +# 3) Почему расширение py лучше чем ipynb? +# 1. Удобнее для версионирования (Git лучше работает с текстом). +# 2. Линтеры (Pilint, Pidocstyle) корректно работают только с .py, проще ревью кода. +# 3. Лучше для продакшн-кода и автоматизации. +# 4) Что такое pep8? +# Pep8 - официальный стандарт стиля для кода Python. +# подсказка:https://peps.python.org/pep-0008/ +# 4.1) линтеры проверяют на соблюдение pep8? +# Да. Flake8 и Pylint проверяют код на соответствие pep8. +# 4.2) Какая нотация используется для создания переменных? +# snake_case +# ответ на 85-95 страницы https://t.me/c/1937296927/1/16676 +# 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..46550c39 --- /dev/null +++ b/quiz2.ipynb @@ -0,0 +1,139 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "d1bcc1cc", + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"Quiz 2.\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "e66fe6b8", + "metadata": {}, + "source": [ + "'Quiz 2.'\n", + "\n", + "Список вопросов к видео https://youtu.be/Si9MfV8uJ-0?si=JXHe-tsgOEwSTI5E (НАСТРОЙКА VSCODE, перенос строк, линтеры, работа с ячейками):\n", + "\n", + "(По желанию)В ответе подробно всё опишите и обязательно нужно указывать тайм код из видео где я это сказал, по желанию, дополнительно прикладываем скриншот из видео.\n", + "Если вы знаете ответы на вопросы из Вашего опыта, то таймкоды из видео не надо указывать и т.д.\n", + "\n", + "1. Как включить автосохранение данных в VSCODE?\n", + "File -> Auto Save\n", + "2. Как настроить перенос строки?\n", + "Нужно открыть File -> Preferences -> Settings.\n", + "В поиск введите wrap.\n", + "В разделе Editor: Word Wrap выберите wordWrapColumn.\n", + "Установите Editor: Word Wrap Column = 79.\n", + "3. Сколько символов по pep8 разрешено на строке?\n", + "79.\n", + "4. Какие способы переноса строк показаны в видео:\n", + "перенос комментариев - с помощью #\n", + "перенос кода - c помощью ()\n", + "\n", + "4.1 Строки с использованием обратного слэша \"\\\"\n", + "\n", + "string_continued = \"This is a long string that we want to \" \\\n", + " \"split across multiple lines.\"\n", + "print(string_continued)\n", + "\n", + "4.2 Тройные кавычки (''' или \"\"\") \n", + "\n", + "multi_line_string = \"\"\"This is a string that spans\n", + "multiple lines. You can write freely\n", + "and it will keep the line breaks.\"\"\"\n", + "print(multi_line_string)\n", + "\n", + "4.3 Создание списка строк и объединение с помощью join\n", + "\n", + "strings = [\n", + " \"This is the first line.\",\n", + " \"This is the second line.\",\n", + " \"This is the third line.\"\n", + "]\n", + "result = \"\\n\".join(strings) # Используем перенос строк '\\n'\n", + "print(result)\n", + "\n", + "4.4 Использование круглых скобок для продолжения строки\n", + "long_string = (\n", + " \"This is a very long string that I would like to \"\n", + " \"continue on the next line.\"\n", + ")\n", + "print(long_string)\n", + "\n", + "4.5 Форматированные строки (f-строки) с использованием скобок\n", + "letter_a = 5\n", + "letter_b = 6\n", + "product_ab = letter_a * letter_b\n", + "\n", + "message = (\n", + " f\"when {letter_a} is multiplied by {letter_b}, \"\n", + " f\"the result is {product_ab}\"\n", + ")\n", + "print(message)\n", + "\n", + "4.6 Сложение строк с помощью +\n", + "\n", + "string_part1 = \"This is the first part, \"\n", + "string_part2 = \"and this is the second part.\"\n", + "full_string = string_part1 + string_part2\n", + "print(full_string)\n", + "\n", + "5. Проверка на ошибки c помощью кнопки problems, где она находится?\n", + "Нижняя панель - вкладка Problems.\n", + "6. Где в vscode находится клиент гита? как в нём отправить коммит? как принять домашку?\n", + "Панель слева (3 кружочка).\n", + "Пишем коммит, затем нажимаем Commit.\n", + "7. Что такое GIT? он локальный? В нём можно посмотреть историю изменений файлов и вернуться к любому коммиту?\n", + "Git - это контроль версий. Да, можно посмотреть.\n", + "8. Как вставить картинку в маркдаун?\n", + "С помощью сочетания клавиш Ctrl+V.\n", + "9. Где посмотреть длину строки в vs code?\n", + "Скопировать строку в файл с расширением .py, внизу справа показывается количество символов.\n", + "10. Как поменять тип ячейки с питона на маркдаун?\n", + "Нажать на тип Python и выбрать в меню Markdown.\n", + "11. Как запустить сразу все ячейки в юпитере?\n", + "Нажать Run All.\n", + "12. Как изменить размер картинки в юпитере? Нужно для этого знать HTML?\n", + "Да, для этого нужно знать HTML, используется тег .\n", + "13. Какой хоткей чтобы запустить ячейку с смещением на следующую?\n", + "Shift + Enter\n", + "14. Как включить отображение номеров строк в юпитере(Cell line numbers)?\n", + "Нажать на три точки в правом нижнем углу окна редактора и выбираем Show cell line number.\n", + "15. Что такое \"Go To\" чем это полезно? Как перейти сразу на ошибочную ячейку?\n", + "Нажимаем Go To и нас переносит на ошибочную ячейку.\n", + "16. Как очистить вывод ячеек которые уже запущены?\n", + "Нужно нажать Clear All Outputs.\n", + "17. Как работать одновременно в нескольких файлах в VSCODE? Что такое SPLIT?\n", + "В VSCode можно работать одновременно в нескольких файлах удобно через вкладки. Это позволяет открывать файлы рядом друг с другом без переключения между окнами. Для этого нужно открыть файл из обозревателя (explorer) и перетащить файл в позицию на экране, где он будет располагаться.\n", + "18. Каким сочетанием убирается левый сайдбар?\n", + "CTRL + B.\n", + "19. Кнопка два листочка это наши локальные файлы?\n", + "Да.\n", + "20. Какая ошибка появилась в трассировке при запуске всех ячеек DICT или LIST?\n", + "Name 'Dict' is not defined.\n", + "21. Вы ознакомились с https://t.me/c/1937296927/832/19307? и https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet?\n", + "Да.\n", + "22. Что такое валидация?\n", + "Это процесс проверки данных на соответствие заданным правилам.\n", + "23. Что такое трассировка ошибки?\n", + "Это детальный отчет, который выводится при возникновении исключения в программе.\n", + "24. Что значит отвалился интерпритатор?\n", + "Python-интерпретатор внезапно завершился.\n", + "\n", + "Отвечаете на вопросы в вашем редакторе кода.\n" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/quiz2.py b/quiz2.py new file mode 100644 index 00000000..838dfa5b --- /dev/null +++ b/quiz2.py @@ -0,0 +1,114 @@ +"""Quiz 2.""" + +# 'Quiz 2.' +# +# Список вопросов к видео https://youtu.be/Si9MfV8uJ-0?si=JXHe-tsgOEwSTI5E (НАСТРОЙКА VSCODE, перенос строк, линтеры, работа с ячейками): +# +# (По желанию)В ответе подробно всё опишите и обязательно нужно указывать тайм код из видео где я это сказал, по желанию, дополнительно прикладываем скриншот из видео. +# Если вы знаете ответы на вопросы из Вашего опыта, то таймкоды из видео не надо указывать и т.д. +# +# 1. Как включить автосохранение данных в VSCODE? +# File -> Auto Save +# 2. Как настроить перенос строки? +# Нужно открыть File -> Preferences -> Settings. +# В поиск введите wrap. +# В разделе Editor: Word Wrap выберите wordWrapColumn. +# Установите Editor: Word Wrap Column = 79. +# 3. Сколько символов по pep8 разрешено на строке? +# 79. +# 4. Какие способы переноса строк показаны в видео: +# перенос комментариев - с помощью # +# перенос кода - c помощью () +# +# 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) +# +# 5. Проверка на ошибки c помощью кнопки problems, где она находится? +# Нижняя панель - вкладка Problems. +# 6. Где в vscode находится клиент гита? как в нём отправить коммит? как принять домашку? +# Панель слева (3 кружочка). +# Пишем коммит, затем нажимаем Commit. +# 7. Что такое GIT? он локальный? В нём можно посмотреть историю изменений файлов и вернуться к любому коммиту? +# Git - это контроль версий. Да, можно посмотреть. +# 8. Как вставить картинку в маркдаун? +# С помощью сочетания клавиш Ctrl+V. +# 9. Где посмотреть длину строки в vs code? +# Скопировать строку в файл с расширением .py, внизу справа показывается количество символов. +# 10. Как поменять тип ячейки с питона на маркдаун? +# Нажать на тип Python и выбрать в меню Markdown. +# 11. Как запустить сразу все ячейки в юпитере? +# Нажать Run All. +# 12. Как изменить размер картинки в юпитере? Нужно для этого знать HTML? +# Да, для этого нужно знать HTML, используется тег . +# 13. Какой хоткей чтобы запустить ячейку с смещением на следующую? +# Shift + Enter +# 14. Как включить отображение номеров строк в юпитере(Cell line numbers)? +# Нажать на три точки в правом нижнем углу окна редактора и выбираем Show cell line number. +# 15. Что такое "Go To" чем это полезно? Как перейти сразу на ошибочную ячейку? +# Нажимаем Go To и нас переносит на ошибочную ячейку. +# 16. Как очистить вывод ячеек которые уже запущены? +# Нужно нажать Clear All Outputs. +# 17. Как работать одновременно в нескольких файлах в VSCODE? Что такое SPLIT? +# В VSCode можно работать одновременно в нескольких файлах удобно через вкладки. Это позволяет открывать файлы рядом друг с другом без переключения между окнами. Для этого нужно открыть файл из обозревателя (explorer) и перетащить файл в позицию на экране, где он будет располагаться. +# 18. Каким сочетанием убирается левый сайдбар? +# CTRL + B. +# 19. Кнопка два листочка это наши локальные файлы? +# Да. +# 20. Какая ошибка появилась в трассировке при запуске всех ячеек DICT или LIST? +# Name 'Dict' is not defined. +# 21. Вы ознакомились с https://t.me/c/1937296927/832/19307? и https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet? +# Да. +# 22. Что такое валидация? +# Это процесс проверки данных на соответствие заданным правилам. +# 23. Что такое трассировка ошибки? +# Это детальный отчет, который выводится при возникновении исключения в программе. +# 24. Что значит отвалился интерпритатор? +# Python-интерпретатор внезапно завершился. +# +# Отвечаете на вопросы в вашем редакторе кода. +#