Пакеты и модули

Реализуйте следующую структуру пакетов и модулей. Имена и количества модулей в пакетах даны приблизительно. Чтобы сдать эти задачи, архивируйте все файлы вместе и посылайте мне.

├── semester1
│   ├── __init__.py
│   ├── lists_and_loops.py
│   ├── task1.py
│   ├── task2.py
│   └── task3.py
└── semester2
    ├── functions_and_lambdas.py
    ├── generators.py
    ├── __init__.py
    └── packages_and_modules.py
  1. В пакет semester1 положите файлы с задачами прошлого семестра. Теперь мы будем воспринимать эти файлы как модули. Внутри файла у вас будут функции для решения конкретных задач, потому что мы договаривались в первом семестре, что для решения очередного блока задач вы создаете файл, а внутри него пишете по функции для каждой задачи.

    В пакет semester2 положите файлы с решениями задач этого года.

  2. В модулях второго семестра (лучше бы и первого, но для экономии времени это необязательно) выделите весь код вне функций, который вы писали для тестирования функций, в блок if __name__ == "__main__":. Это нужно, чтобы при импортировании модулей не запускался весь код из них. Далее в течение второго семестра я прошу всегда оформлять код вне функций именно таким образом. Будьте готовы к тому, что решения старых задач потребуются при решении новых, и вам нужно будет импортировать старые классы.
  3. В файле packages_and_modules.py напишите код, который вызывает какую-нибудь функцию с решением задачи первого семестра. И который вызывает функцию для решения задачи второго семестра.