diff --git a/quiz.py b/quiz.py new file mode 100644 index 00000000..aa13df26 --- /dev/null +++ b/quiz.py @@ -0,0 +1,530 @@ +# ## QUIZ 1 + +# Список вопросов к видео https://youtu.be/hW_7hodGxVU?si=tCEVs00xGt2q61eW (АЛГОРИТМ ПРИНЯТИЯ И ОТДАЧИ ДОМАШКИ): +# +# (По желанию )В ответе подробно всё опишите и обязательно нужно указывать тайм код из видео где я это сказал, по желанию, дополнительно прикладываем скриншот из видео. +# Если вы знаете ответы на вопросы из Вашего опыта, то таймкоды из видео не надо указывать и т.д. +# +# 1) Как понять, что домашка пришла? +# +# В видеоо ответ не нашёл, написал в чат HELP ME +# +# 2) Как принять домашку? +# +# В видеоо ответ не нашёл, написал в чат HELP ME +# +# 3) Зачем нужна кнопка history и какие функции появляются при нажатии правой кнопки мыши на коммит? +# +# В видеоо ответ не нашёл, написал в чат HELP ME +# +# 3.1) Где брать ссылку на коммит? куда её отправлять? +# +# В видеоо ответ не нашёл, написал в чат HELP ME +# +# 4) Что такое файл лога? +# +# В видеоо ответ не нашёл, написал в чат HELP ME +# +# 4.1) Когда нужно его пушить? +# +# В видеоо ответ не нашёл, написал в чат HELP ME +# +# 5) Что такое интерпритатор? +# +# Таймкод: 0:25 +# +# Интерпретатор — это программа, которая читает и запускает код +# +# 6) Где можно выбрать интерпритатор? +# +# Таймкод: 0:20 +# +# Существует 2 способоа +# 1. Нажимаем кнопку запуска ячейки, после чего vs code предложит нам выбрать интерпретатор +# 2. Нажимаем кнопку справа сверху от ячеек с кодом +# +# 7) Что такое модуль? +# +# Таймкод: 5:40 +# +# Модуль — это файл .py или .ipynb +# +# 8) Как создать и отправить коммит? +# +# Таймкод: 0:50 +# +# Заходим в GitHub Desktop, пишем название коммита, описание (что сделали) и нажимаем Commit to main, потом Push origin +# +# 9) Как посмотреть что коммит точно отправлен и находится в github? +# 10) Какая команда показывает что код не прошёл проверки на ошибки? +# +# Таймкод: 2:58 +# +# написать в терминале pre-commit run --all-files +# +# 10.1) Напишите список линтеров которые используются для проверки кода и дайте их краткую характеристику. +# +# Таймкод: 3:05 +# +# flake-8 - проверка PEP8 +# pylint - проверка стиля и ошибок в коде +# mypy - проверяет типы данных +# pydocstyle - проверка docstring +# +# +# 11) Как узнать какой именно линтер не прошёл проверку? +# +# Таймкод: 3:25 +# +# Напротив линтера в консоли будет написано Failed +# +# 12) Линтер Pylint видит markdown? +# +# Таймкод: 4:00 +# +# Он их не видит и пропускает +# +# 13) Номер ячейки в терминале и номер ячейки в vs code может отличаться? в каком случае? +# +# Таймкод: 4:00 +# +# Если в ноутбуке есть ячейки markdown +# +# 14) Где посмотреть номер ячейки в vscode? +# +# Таймкод: 4:15 +# +# Внизу надпись Cell +# +# 15) В каком формате ipynb отправляется в гитхаб? причём здесь JSON? +# +# Таймкод 0:55 +# +# Ноутбуки отправляются в формате JSON +# +# 16) Где посмотреть в какой ячейке ошибка? +# +# Таймкод: 3:30 +# +# В линтере указана ячейка, где не пройдена проверка +# +# 17) Как запустить терминал? +# +# Таймкод: 2:47 +# +# Нажать кнопку Terminal -> New terminal +# +# Либо нажать сочетание клавишь Ctrl+Shift+` +# +# 18) Что такое линтер? +# +# Таймкод 3:10 +# +# Это программа, которая проверяет файлы на корректность +# +# 19) В какой сайт нужно вставлять код ошибки если ошибка связана с pylint? +# +# Таймкод 5:00 +# +# pylint.pycqa.org +# +# 20) Секция pydocstyle в большинстве случае автоматический закрывается после исправления ошибок в каком линтере? +# +# Таймкод: 7:00 +# +# PyLint +# +# 21) Что такое описание модуля? Оно должно отражать информацию о том что находится в модуле? +# +# Таймкод: 6:20 +# +# Описание модуля - это строка в начале кода, в которой описано, что делает этот модуль +# +# 21.1) С какой git команды начинается утро программиста? +# +# Pull +# +# 22) После внесения изменений в файлах, кнопка open in vs code пропадает в кошке, как по другому открыть vs code из кошки? +# +# Таймкод: 10:10 +# +# Нажимаем ПКМ на Current repository -> Open in VS Code +# +# 23) Что такое stash? Общее объяснение концепции. +# +# Таймкод: 11:40 +# +# Это буфер обмена, куда помещается наш код, если другой человек сделал коммит в нашей ветке +# +# 23.1) Как сохранить стэш? +# git командa(подсказка: https://t.me/c/1937296927/3602/19531): git stash save "NAME_STASH" +# +# Кнопка в vs code: В разделе Changes ... -> Stash -> Выбираем команду в списке +# +# 23.2) Как восстановить стэш(подсказка: https://t.me/c/1937296927/3602/25747)?: Нажимаем Stashed Changes -> Restore +# +# git команда(подсказка: https://t.me/c/1937296927/3602/19531)?: git stash apply "NUMBER_STASH" +# +# 23.3) Различие между стэшем и коммитом. +# Когда лучше сохранить изменения в стэше, а когда коммитить. +# +# стэш - локальное хранилище, а коммит можно отправить в GitHub. +# Стэш полезен, когда нужно принять pull, но при этом не потерять локальные наработки, a коммить стоит, когда дошли до логического завершения некого степа в задаче. +# +# 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 clear для всех. +# +# 23.6) Практические примеры использования стэша. +# Краткие сценарии, где стэш помогает. +# +# - для принятия pull +# - перенос текста с одной ветки на другую через стэш +# - временно скрыть текущие изменения для работы со срочной задачей в рамках проекта. +# +# 24) Где посмотреть что есть конфликт в файлах? +# +# Таймкод: 11:22 +# +# В GitHub Desktop, когда нажимаем Pull origin +# +# 24.1) Когда он появляется? +# +# Таймкод: 11:00 +# +# Когда в одном файле работают локально и в удалённом репозитории. +# +# 25) Как решить конфликт в файлах? +# +# Таймкод: 12:05 +# +# - Сохранить локальные изменения в буфер обмена +# - Тем временем принимаются изменения из интернета +# - Заходим в Stashed Changes и восстановить локальные изменения, нажав Restore +# - Открываем конфликтный файл в IDE +# - Выбираем вариант решения конфликта +# +# 26) Напишиие правильное утверждение +# -Зелёное то что пришло с гитхаба и синее локальные изменения или синее то что пришло с гитхаба и зелёное это локальные изменения +# +# Таймкод: 13:37 +# +# Зелёное то что пришло с гитхаба и синее локальные изменения +# +# 27) Если мы работаем в одном файле, можно ли принять pull после того как вы спрячете в стэш свои изменения? +# +# Таймкод: 11:00 +# +# В виде сначала приняли pull, после чего убрали в стэш изменения +# +# 27.1) Что может произойти когда stash восстановите после принятия pull? +# +# Таймкод: 12:15 +# +# Возниает конфликт версий файла +# +# 28) Сколько способов решения конфликтов было показано в видео? Напишите ЧИСЛО и укажите их способы. +# +# Таймкод: 12:45 +# +# 4 способа: +# - Accept current changes — принять изменения из интернета +# - Accept incoming changes - принять локальные изменения +# - Accept both changes - принять оба изменения +# - Руками переписать конфликтный файл и нажать кнопку Resolve in merge editor +# +# 29) Что делает кнопка complete merge? +# +# Таймкод: 13:45 +# +# Сохраняет решение устранения конфликта файлов +# +# 30) В какой чат нужно писать если остались вопросы? +# +# Таймкод: 14:14 +# +# HELP ME +# +# 31) Что такое FORK? Зачем его делают? +# +# FORK позволяет скопировать репозиторий другого пользователя на GitHub +# +# 32) Как скачать форкнутый репозиторий на локальный компьютер? +# +# В видеоо ответ не нашёл, написал в чат HELP ME +# +# 33) С какой вероятностью ваши ошибки были уже решены? и кто их решил? +# +# Таймкод: 9:35 +# +# С вероятностью 99% ошибки были решены Русланом или другими студентами в чате HELP ME +# +# 34) Как создать файл в vs code? +# +# В левом окошке нажимаем на лист с плюсом, после чего пишем названия файла с расширением +# +# 35) Файл лога нужно заполнять в конце каждого урока? +# +# В видеоо ответ не нашёл, написал в чат HELP ME +# +# ================== +# +# Дополнительные вопросы: +# 1)Какая команда конвертирует файл в py из ipynb? +# подсказка https://t.me/c/1937296927/1/26527 +# +# `jupytext --to py *.ipynb` – конвертирует все файлы ipynb в текущей директории в py +# +# 2) Что такое пакетный менеджер? Вы пользуетесь пакетным менеджером conda или pip? Какой лучше использовать для дата сайнс? +# +# Пакетный менеджер - это инструмент для работы с библиотеками. +# +# conda уже при стандартных настройках даёт пакеты для дата сайнс, в то время как в pip их нужно устанавливать вручную, поэтому в основном для DS проектов используется конда. +# +# 3) Почему расширение py лучше чем ipynb? +# +# - ноутбуки хранятся в формате JSON, из-за сего их чтение сложнее, чем py файлы +# - py файлы запускаются через интерпретатор питона, в то время как ноутбуки запускаются либо через расширения для vs code, либо через команду запуска в консоли +# +# 4) Что такое pep8? +# подсказка:https://peps.python.org/pep-0008/ +# +# Это страница документации python, в которой говорится как правильно оформлять код +# +# 4.1) линтеры проверяют на соблюдение pep8? +# +# Да +# +# 4.2) Какая нотация используется для создания переменных? +# ответ на 85-95 страницы https://t.me/c/1937296927/1/16676 +# +# Змеиный регистр (snake_case) +# +# 4.3) Может ли переменная состоять из одной буквы например андерскор "_" ? +# +# Да +# +# 4.4) Зачем и где мы используем андерскор _ +# +# В циклах и при распаковке +# +# 4.5) По PEP8 допустима переменная в одну букву? +# ответ на 85-95 страницы https://t.me/c/1937296927/1/16676 +# +# Да, но исключительно в отдельных случаях. Например, в циклах буквы i, j, k или буквы x, y для декартовых координат + +# ## QUIZ 2 + +# Список вопросов к видео https://youtu.be/Si9MfV8uJ-0?si=JXHe-tsgOEwSTI5E (НАСТРОЙКА VSCODE, перенос строк, линтеры, работа с ячейками): +# +# (По желанию)В ответе подробно всё опишите и обязательно нужно указывать тайм код из видео где я это сказал, по желанию, дополнительно прикладываем скриншот из видео. +# Если вы знаете ответы на вопросы из Вашего опыта, то таймкоды из видео не надо указывать и т.д. +# +# 1. Как включить автосохранение данных в VSCODE? +# +# Таймкод: 0:08 +# +# Чтобы включить autosave, нажимаем File -> Auto Save +# +# 2. Как настроить перенос строки? +# +# Таймкод: 0:15 +# +# Для настройки переноса строки заходим в File -> Preferences -> Settings +# +# В поиске пишем wrap +# +# Настройку Word Wrap переключаем на wordWrapColumn +# +# Word Wrap Column ставим на 79 +# +# 3. Сколько символов по pep8 разрешено на строке? +# +# Таймкод: 0:20 +# +# Не больше 79 символов +# +# 4. Какие способы переноса строк показаны в видео: +# +# 4.4 (2:05) +# +# 4.6 (3:40) +# +# 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, где она находится? +# +# Таймкод: 4:45 +# +# Во вкладке внизу экрана, рядом с терминалом. +# Можно открыть либо через Ctrl + Shift + M, либо открыть терминал (Ctrl + Shift + ~) и перейти во вкладку problems. +# +# 6. Где в vscode находится клиент гита? как в нём отправить +# коммит? как принять домашку? +# +# Таймкод: 6:22 +# +# Клиент гита находится на панели вкладок слева, выглядит как дерево коммитов с 2 ветками разработки. +# +# Чтобы отправить коммит, нужно нажать нажать на стрелочку у кнопки Commit, затем в списке на Commit & Push +# +# Чтобы принять домашку, нужно нажать на три точки -> Pull +# +# 7. Что такое GIT? он локальный? В нём можно посмотреть историю изменений файлов и вернуться к любому коммиту? +# +# Таймкод: 6:25 +# +# Git - это система контроля версий, она локальна. +# +# В нём можно смотреть историю изменений файлов (6:55) +# Переходим в GitLens рядом с терминалом, находим нужный коммит, в нём нажимаем на интересующий нас файл. +# +# 8. Как вставить картинку в маркдаун? +# +# Таймкод: 7:50 +# +# Можно вставить через Ctrl+V, либо через тег html — img. +# +# 9. Где посмотреть длину строки в vs code? +# +# Таймкод: 0:55 +# +# Копируем строку из ячейки ноутбука и вставляем в файл с расширением `.py`. Внизу экрана будет пометка Ln (номер строка в файле) и Col (количество символов в строке) +# +# 10. Как поменять тип ячейки с питона на маркдаун? +# +# Таймкод: 7:40 +# +# Нажать у ячейки справа внизу на Python, в открывшемся окне выбрать Markdown +# +# 11. Как запустить сразу все ячейки в юпитере? +# +# Таймкод: 8:25 +# +# Нажать вверху кнопку Run All +# +# 12. Как изменить размер картинки в юпитере? Нужно для этого знать HTML? +# +# Таймкод: 8:10 +# +# Нужно использовать тег из HTML — img. Для настройки размера нужно знать этот тег и его параметры для изменения размеров. +# +# 13. Какой хоткей чтобы запустить ячейку с смещением на следующую? +# +# Таймкод: 8:40 +# +# Shift + Enter +# +# 14. Как включить отображение номеров строк в юпитере(Cell line numbers)? +# +# Таймкод: 9:10 +# +# У ячейки нажимаем на три точки -> Show Cell Line Numbers +# +# 15. Что такое "Go To" чем это полезно? Как перейти сразу на ошибочную ячейку? +# +# Таймкод: 9:20 +# +# Go To это кнопка в верхней панели vs code. Она показывает, где произошла ошибка при выполнении ноутбука. При нажатии показывает ячейку с ошибкой +# +# 16. Как очистить вывод ячеек которые уже запущены? +# +# Таймкод: 10:40 +# +# Нажимаем в панели сверху Clear All Outputs. +# +# 17. Как работать одновременно в нескольких файлах в VSCODE? Что такое SPLIT? +# +# Таймкод: 10:50 +# +# Чтобы одновремено работать в нескольких файлах, нажимаем справа вверху на значок в виде квадрата, поделённого ветрикальной чертой. +# +# 18. Каким сочетанием убирается левый сайдбар? +# +# Таймкод: 11:18 +# +# Ctrl + B +# +# 19. Кнопка два листочка это наши локальные файлы? +# +# Тaймкод: 11:30 +# +# Да +# +# 20. Какая ошибка появилась в трассировке при запуске всех ячеек DICT или LIST? +# +# Таймкод: 9:26 +# +# DICT +# +# 21. Вы ознакомились с https://t.me/c/1937296927/832/19307? и https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet? +# +# Ознакомился +# +# 22. Что такое валидация? +# +# Таймкод: 9:45 +# +# Это запуск ноутбука через Run All, для проверки на ошибки в коде. +# +# 23. Что такое трассировка ошибки? +# +# Таймкод: 10:00 +# +# Визуальное отображение ошибки. +# +# 24. Что значит отвалился интерпритатор? +# +# Таймкод: 9:20 +# +# В коде была обнаружена ошибка и интерпретатор остановил выполнение кода +#