# Неделя #3: Функции, модули, работа с базами данных.

# Задачи на неделю:

  1. Внимательно изучить все материалы недели:

    • Вебинар «Функции и декораторы».
    • Методичку «Веб-фреймворки Python».
    • Вебинар «Модули и пакеты. Django».
    • Вебинар «Работа с базами данных».
  2. Выполнить Задание #5 – Задание на функции.

  3. Выполнить Задание #6 – Установка Django.

  4. Выполнить Задание #7 – Модули.

  5. Загрузить задание и отправить наставнику на проверку.

  6. Выбрать проект, над которым будете работать на протяжении курса.

# Как все успеть

# 🗓 Понедельник

  1. Работа над ошибками – внести правки (если были замечания от наставника) в Заданиях #2, #3, #4. Отправить на проверку наставнику.

  2. Посмотреть вебинар «Функции и декораторы».

# 🗓 Вторник

  1. Повторить материал из вебинара «Функции и декораторы».

  2. Выполнить Задание #5 – Задание на функции.

  3. Загрузить результат на GitHub.

# Задание #5. Задание на функции.

Обязательное задание:

Есть словарь – телефонный справочник “имя“: “телефонный номер“.

Пример:

 {"Иван": "3916", "Катя": "1298", "Лена": "0010"}

Номер всегда четырехзначный.

Задание: Написать функцию, которая принимает аргумент “имя человека“ в виде строки (вы можете добавить и другие аргументы по своему усмотрению), и возвращает его номер телефона.

В случае, если такого человека в справочнике нет, функция возвращает строку "undefined".

Вызвать функцию для нескольких различных имен, обязательно для имени, которого в словаре-справочнике нет.

Убедиться в правильности работы.

Дополнительное задание:

Подумать о "чистоте" и эффективности функции. Как функция получает доступ к словарю-справочнику?

Выберите наилучший вариант:

  1. Словарь-справочник создается и хранится внутри функции
  2. Словарь-справочник это глобальный объект (переменная), внутри функции мы обращаемся к ней
  3. Словарь-справочник это глобальный объект (переменная), которая передается в функцию как параметр.

# 🗓 Среда

  1. Если при выполнении Задания #5 возникли вопросы, задать их наставнику в Telegram. Доработать задание и загрузить на GitHub.
  2. Ознакомиться с методичкой «Веб-фреймворки Python».
  3. Посмотреть вебинар «Модули и пакеты. Django».

# 🗓 Четверг

  1. Повторить материал из вебинара «Модули и пакеты. Django».
  2. Выполнить Задание #6 – Установка Django.
  3. Загрузить результат на GitHub.

# Задание #6. Установка Django.

  • Установить Django.
  • Создать проект и приложение. В этом проекте будете выполнять задания к вебинарам.

Важно! Для выпускного проекта у вас будет отдельный проект. Итого у вас будет два созданных проекта: один для заданий после вебинара, второй для Выпускного проекта.

# 🗓 Пятница

  1. Если при выполнении Задания #6 возникли вопросы, задать их наставнику в Telegram. Доработать задание и загрузить на GitHub.
  2. Посмотреть вебинар «Работа с базами данных».

# 🗓 Суббота

  1. Выполнить Задание #7 – Модули.
  2. Загрузить работу на GitHub и отправить ссылку на репозиторий наставнику.
  3. Выбрать Выпускной проект. На выбор вам предложено два варианта: Агрегатор авиабилетов и сервис авиакомпании. Подробно о проектах вы можете прочитать в блоге. А так же вы можете подробно посмотреть техническое описание проектов:

# Задание #7. Модули.

  1. Написать модуль Python создающий базу данных cities.db городов, как показано на схеме ниже в SQLite. Пояснения к тз
  2. Написать модуль Python, заполняющий базу данных городами из файла
  • Поле таблицы region.name = столбец region_name в файле towns.csv.
  • Поле таблицы city.name = столбец city в файле towns.csv.
  • Для удобства парсинга towns.csv рекомендуется использовать модуль csv.
  1. Написать модуль Python, который выводит города Архангельской области
  2. Написать модуль Python, который выводит количество городов по регионам, используя выражение group by. Пример вывода:
  • Алтайский край – 12
  • Амурская область – 10

# 🗓 Воскресенье

  1. Доработать задания недели, задать вопросы.
  2. Отправить ссылку на GitHub со всеми заданиями недели своему наставнику.
  3. Отдых.

Важно: Для продуктивного обучения нужно восстанавливать силы. Обязательно планируйте время на отдых!