diff --git a/README.md b/README.md index acf0661..ad3e9c1 100644 --- a/README.md +++ b/README.md @@ -4,4 +4,8 @@ Here I will upload all my practice tasks belong to this course. I'm a **2-nd-year Computer Science student** at **Kiyv-Mohyla Academy** +## First Practice +**First Practice** - [GitHub Repository](https://github.com/nikitakost/PythonProject1) +## Second Practice +**Second Practice** - [Branch2](https://github.com/nikitakost/PythonBigData_Practics/tree/Practice_2) diff --git a/python_practice_2.ipynb b/python_practice_2.ipynb new file mode 100644 index 0000000..92b93d1 --- /dev/null +++ b/python_practice_2.ipynb @@ -0,0 +1,768 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "p9wwt0LZzNvn" + }, + "source": [ + "# I. Змінні та памʼять." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "HTJrrm95xSV9" + }, + "source": [ + "1. Створити змінні, що посилаються на два цілих числа, що однакові за значенням, де значення належить проміжку від -5 до 256. Перевірте, чи будуть ці змінні рівні тільки за значенням або ж ще будуть посилатися на один і той самий обʼєкт в памʼяті? Наведіть код та дайте текстову відповідь нижче." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "id": "TATni2vzayjG" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "False\n", + "False\n" + ] + } + ], + "source": [ + "my_varieble1 = 5\n", + "my_varieble2 = 200\n", + "print (my_varieble1 == my_varieble2) \n", + "print (id(my_varieble1) == id(my_varieble2))\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "zfRG_o3WbRdg" + }, + "source": [ + "Якщо змінні однакові, то вони будуть і рівними за значенням і мати спільний ID, та навпаки." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ISORzt6M3vAt" + }, + "source": [ + "2. За допомогою якої функції можна перевірити належність змінної до вказаного типу даних (напр. чи змінна True посилається на значення булевого та цілочисленого типу)?" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "id": "9vL9CFaMbfyo" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True\n", + "True\n", + "False\n" + ] + } + ], + "source": [ + "my_varieble3 = True\n", + "print(isinstance(my_varieble3, bool))\n", + "print(isinstance(my_varieble3, int))\n", + "print(isinstance(my_varieble3, str))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "tRxugKAxwYLw" + }, + "source": [ + "# II. Цілі числа та числа з рухомою комою" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "NLHkgd5Gybc8" + }, + "source": [ + "3. Створити дві змінні, що посилаються на будь-які ціле число та число з рухомою комою та продемонструвати такі арифметичні операції: додавання, віднімання, ділення, множення, ділення без залишку, ділення по модулю, приведення до ступеню. Всі результати операцій вивести на екран." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "id": "nb8u_3pjb2cA" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "7.6 3.4 2.619047619047619 11.55 2.0 1.2999999999999998 35.87250030349099\n" + ] + } + ], + "source": [ + "var_float1 = 5.5\n", + "var_float2 = 2.1\n", + "print(var_float1 + var_float2, var_float1 - var_float2, var_float1 / var_float2, var_float1 * var_float2, var_float1 // var_float2, var_float1 % var_float2, var_float1 ** var_float2)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "1kBClKgPzZnC" + }, + "source": [ + "4. Використовуючи змінні з вправи 3, продемонструйте механізм явного перетворення типів, де числа з рухомою комою перетворюються на цілі числа. Також визначте змінну, що посилається на значення булевого типу і спробуйте явно привести її до цілого числа." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "id": "TbqJbkeUcKsD" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "5\n", + "1\n" + ] + } + ], + "source": [ + "var_float1 = 5.5\n", + "int_num = int(var_float1)\n", + "print(int_num)\n", + "bool = True\n", + "print(int(bool))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "EVJ7AflwxrZi" + }, + "source": [ + "# IІІ. Рядки (String)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_s5ECzz9zE61" + }, + "source": [ + "5. Створити пустий рядок двома різними способами." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "fkZJHu9Scvc-" + }, + "outputs": [], + "source": [ + "string = \"\" \n", + "string1 = str()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "4Bdn9J3MzLf_" + }, + "source": [ + "6. Створити рядок з апострофом. Зробити його сирим. Вивести обидва рядка на екран." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "id": "ivji_hsmc0GH" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "'\n", + "'\n" + ] + } + ], + "source": [ + "string = \"'\"\n", + "print(string)\n", + "raw_string = r\"'\"\n", + "print(raw_string)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "bg_d8wM4z8dS" + }, + "source": [ + "7. Створити змінну, що буде посилатися на Ваше прізвище латинкою. Створити форматований рядок, який буде мати вигляд \"My surname is ______\", де на місці нижніх підкреслень буде Ваше прізвище зі змінної." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "kuxFgpWndACq" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "My surname is {surname}\n" + ] + } + ], + "source": [ + "surname = \"Kostenko\"\n", + "f_string = f\"My surname is {surname}\"\n", + "print(f_string)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "1Nc6RqvQ0hxU" + }, + "source": [ + "8. " + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "id": "w1Ya4RqedUhw" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['My', 'dog', 'is', 'crazy']\n" + ] + } + ], + "source": [ + "string = \"My dog is crazy\"\n", + "string_list = string.split()\n", + "print(string_list)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "GYVqN9uP1D4n" + }, + "source": [ + "# IV. Робота зі списками." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "7-DeDunw2sO-" + }, + "source": [ + "9. Створити список двома різними за синтаксисом способами. За допомогою вбудованої функції обчисліть довжину одного з них." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "zxg06Uuxdyoh" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "5\n", + "[1, 2, 3, 4, 5]\n" + ] + } + ], + "source": [ + "list1 = [1, 2, 3, 4, 5]\n", + "print(len(list1))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "8vmGUTjL22gI" + }, + "source": [ + "10. Створіть два списка та за допомогою спеціального методу додайте другий з них в якості останнього елемента першого." + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "id": "uHtjWYw7d7hm" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1, 2, 3, 4, 5, [2, 3, 4, 5, 6]]\n" + ] + } + ], + "source": [ + "list1 = [1, 2, 3, 4, 5]\n", + "list2 = [2, 3, 4, 5, 6]\n", + "list1.append(list2)\n", + "print(list1)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "JC3BkD-67_--" + }, + "source": [ + "11. Створіть список, де елементами цього списку також є списки. Отримай перший елемент з останнього рядка та виведи значення на екран." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "id": "Kz2jZHsGeLlz" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4\n" + ] + } + ], + "source": [ + "list = [[2], [3, 9, 10], [4, 5]]\n", + "list_of_list = list[-1]\n", + "print(list_of_list[0])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "JA47PKTv8zFK" + }, + "source": [ + "12. Створіть список з десяти елементів різного типу. Отримайте всі елементи, окрім двох перших та двох останніх та збережіть їх в новій змінній." + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "id": "_rHdUR-ueP4-" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[40.1, True, 2, 6, 7.8888, 234]\n" + ] + } + ], + "source": [ + "string = [\"I\", 1, 40.1, True, 2, 6, 7.8888, 234, 34 ,10]\n", + "elements = string[2:8]\n", + "print(elements)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "pCjR1dJb1Qbi" + }, + "source": [ + "# V. Робота з кортежами." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "fAZCxAX06R_k" + }, + "source": [ + "14. Створити кортеж з один елементом." + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "id": "H7d82WkQev3e" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(1, 2, 3, 4, 5)\n" + ] + } + ], + "source": [ + "new_tuple = tuple([1, 2, 3, 4, 5])\n", + "print(new_tuple)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "8LCtYcmI6w1M" + }, + "source": [ + "15. Порівняйте список та кортеж. Назвіть схожості та відмінності, випадки використання." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "fUsN1Hnue0C6" + }, + "source": [ + "*місце для текстової відповіді" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "m0xrwFijAmDD" + }, + "source": [ + "16. Створіть кортеж з 11ти елементів чисел з рухомою комою та отримайте кожен парний за індексом елемент в зворотньому порядку. Наприклад, маючи (1.2, 2.3, 3.3, 4.3, 5.3, 6.3, 7.3, 8.3, 9.3, 0.3), отримати (0.3, 8.3, 6.3, 4.3, 2.3). Результат збережіть в нову змінну та виведіть на екран." + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": { + "id": "p-5DAH6XfAGA" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(10.1, 8.8, 6.6, 4.4, 2.2)\n" + ] + } + ], + "source": [ + "tuple_floats = (1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.1, 11.2)\n", + "reverse_elements = tuple_floats[-2::-2]\n", + "print(reverse_elements)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "rW_I9dt3x6cW" + }, + "source": [ + "# VI. Множини (Set)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "zNjRLHLw1Bgg" + }, + "source": [ + "17. Створити множину без елементів. Після цого за допомогою методу додайте кілька різних елементів до множини. Чи множини є змінним типом даних?" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": { + "id": "KOv7zc2Kfo4N" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'34'}" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_set = set()\n", + "my_set.add('34')\n", + "my_set\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "vxS6dVYiftZQ" + }, + "source": [ + "*місце для текстової відповіді" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gHpT0Zw_1HEF" + }, + "source": [ + "18. Створити множину, маючи список my_list = [1, 1, 2, 67, 67, 8, 9]. Пояснити, чому \"зникли\" деякі елементи." + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "id": "qCN4uvJ_fxmu" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{1, 2, 8, 9, 67}" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "new_set = set([1, 1, 2, 67, 67, 8, 9])\n", + "new_set" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "tFNc1e20fyny" + }, + "source": [ + "*місце для текстової відповіді" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "SRMkGizS1UwY" + }, + "source": [ + "19. Створіть дві множини. Продемонстуйте над ними операції: обʼєднання, різниці, пересічі та симетричної різниці. Використовуйте методи, що не змінюють множини, а створюють нові." + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": { + "id": "h0T-VuDnf3Ri" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Об'єднання множин: {1, 2, 3, 4, 5, 6, 7, 8}\n", + "Різниця множин (set_1 - set_2): {1, 2, 3}\n", + "Перетин множин: {4, 5}\n", + "Симетрична різниця множин: {1, 2, 3, 6, 7, 8}\n" + ] + } + ], + "source": [ + "set_1 = {1, 2, 3, 4, 5}\n", + "set_2 = {4, 5, 6, 7, 8}\n", + "\n", + "union_set = set_1.union(set_2)\n", + "print(f\"Об'єднання множин: {union_set}\")\n", + "\n", + "difference_set = set_1.difference(set_2)\n", + "print(f\"Різниця множин (set_1 - set_2): {difference_set}\")\n", + "\n", + "intersection_set = set_1.intersection(set_2)\n", + "print(f\"Перетин множин: {intersection_set}\")\n", + "\n", + "symmetric_difference_set = set_1.symmetric_difference(set_2)\n", + "print(f\"Симетрична різниця множин: {symmetric_difference_set}\")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "kWc8gkzTx7Ea" + }, + "source": [ + "# VII. Словники (Dictionary)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "i5FLwj-B2ybQ" + }, + "source": [ + "20. Створіть пустий словник. До нього додайте чотири пари елементів такі, щоб їхні ключі були різних типів. Чи може список бути ключем? Чому?" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": { + "id": "hxgv3BzrgLAV" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{True: 1, 2: 2, 'hi': 9.0, 10.52: ',', (1, 2): 3}" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_dict = {True: 1, 2: 2, \"hi\": 9.0, 10.52: ',', (1, 2): 3}\n", + "my_dict" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "zwa7UVN-gR3m" + }, + "source": [ + "*місце для текстової відповіді" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "WM_pMlJsgoNf" + }, + "source": [ + "21. Створіть словник, де значенням в одній з пар теж буде словник, який теж має вкладений словник. Виведіть на екран значення, що міститься в словнику, що знаходиться на найнижчому рівні ієрархії вкладеності (найбільш внутрішній)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "60dlP7IHhAy4" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Це найнижчий рівень вкладеності\n" + ] + } + ], + "source": [ + "pro_dict = {\n", + " \"level_1\": {\n", + " \"level_2\": {\n", + " \"level_3\": \"Це найнижчий рівень вкладеності\"\n", + " }\n", + " }\n", + "}\n", + "\n", + "deep_value = pro_dict[\"level_1\"][\"level_2\"][\"level_3\"]\n", + "print(f\"{deep_value}\")\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "xOZP0hkx6cCr" + }, + "source": [ + "# Вітаю! Ви велика(ий) молодець, що впоралась(вся). Похваліть себе та побалуйте чимось приємним. Я Вами пишаюся." + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "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.2" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +}