{ "cells": [ { "cell_type": "markdown", "id": "3759f336", "metadata": {}, "source": [ "Задача 1. Сообщение о запуске ETL\n", "Нужно написать функцию show_etl_start, которая принимает имя джобы и выводит сообщение о ее запуске.\n", "Что нужно сделать:\n", " создать функцию show_etl_start(job_name);\n", " внутри вывести строку:Запуск ETL: <имя ETL>;\n", " вызвать функцию для:\n", " \"orders_load\"\n", " \"users_load\"\n", "\n", "Ожидаемый вывод:\n", " Запуск ETL: orders_load\n", " Запуск ETL: users_load" ] }, { "cell_type": "code", "execution_count": null, "id": "ad2441e7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Запуск ETL: orders_load\n", "Запуск ETL: users_load\n" ] } ], "source": [ "def show_etl_start(job_name):\n", " print(f\"Запуск ETL: {job_name}\")\n", "\n", "show_etl_start(\"orders_load\")\n", "show_etl_start(\"users_load\")" ] }, { "cell_type": "markdown", "id": "7f37ba98", "metadata": {}, "source": [ "Задача 2. Нормализация имени таблицы\n", "Нужно написать функцию normalize_table_name, которая принимает имя таблицы и возвращает его:\n", " без пробелов по краям;\n", " в нижнем регистре.\n", "Что нужно сделать:\n", " создать функцию normalize_table_name(table_name);\n", " использовать strip() и lower();\n", " сохранить результат в переменную;\n", " вывести результат для значений:\n", " \" Orders \"\n", " \" USERS \"\n", " \"Payments\"\n", "Пример вызова функции:\n", " result = normalize_table_name(\" Orders \")\n", " print(result)" ] }, { "cell_type": "code", "execution_count": 40, "id": "e5777c5a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "orders\n", "users\n", "payments\n" ] } ], "source": [ "def normalize_table_name(table_name):\n", " return table_name.strip().lower()\n", "\n", "result_orders = normalize_table_name(\" Orders \")\n", "result_users = normalize_table_name(\" USERS \")\n", "result_payments = normalize_table_name(\"Payments\")\n", "\n", "print(result_orders)\n", "print(result_users)\n", "print(result_payments)" ] }, { "cell_type": "markdown", "id": "efa9fae5", "metadata": {}, "source": [ "Задача 3. Проверка корректной суммы\n", "Нужно написать функцию is_valid_amount, которая принимает сумму и возвращает:\n", " True, если сумма больше 0;\n", " False, если сумма меньше или равна 0.\n", "Что нужно сделать:\n", " создать функцию is_valid_amount(amount);\n", " проверить значения:\n", " 100\n", " 0\n", " -25" ] }, { "cell_type": "code", "execution_count": 43, "id": "09665391", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True\n", "False\n", "False\n" ] } ], "source": [ "def is_valid_amount(amount):\n", " return amount > 0\n", "\n", "print(is_valid_amount(100))\n", "print(is_valid_amount(0))\n", "print(is_valid_amount(-25))" ] }, { "cell_type": "markdown", "id": "d99423c2", "metadata": {}, "source": [ "Задача 4. Построение имени витрины\n", "Нужно написать функцию build_mart_name, которая принимает:\n", " название сущности;\n", " слой.\n", "И возвращает строку в формате:\n", " _\n", "Что нужно сделать:\n", " создать функцию build_mart_name(entity_name, layer);\n", " проверить на примерах:\n", " (\"orders\", \"dm\")\n", " (\"users\", \"core\")\n", " (\"payments\", \"stg\")" ] }, { "cell_type": "code", "execution_count": null, "id": "d3c6683e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dm_orders\n", "core_users\n", "stg_payments\n" ] } ], "source": [ "def build_mart_name(entity_name, layer):\n", " print(f\"{layer}_{entity_name}\")\n", "\n", "build_mart_name(\"orders\", \"dm\")\n", "build_mart_name(\"users\", \"core\")\n", "build_mart_name(\"payments\", \"stg\")" ] } ], "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.7" } }, "nbformat": 4, "nbformat_minor": 5 }