Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions dk92_komarenko/Lab_0/Lab0.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import math

AB = input("Length of the 1 leg: ")
AC = input("Length of the 2 leg : ")

AB = float(AB)
AC = float(AC)

BC = math.sqrt(AB**2 + AC**2)

S = (AB * AC) / 2
P = AB + AC + BC

print("The area of the triangle : %.2f" % S)
print("Perimeter of a triangle : %.2f" % P)
53 changes: 53 additions & 0 deletions dk92_komarenko/Lab_1/Lab1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#!/usr/bin/env python3

"""This module displays all file names and sizes at the given path."""

import argparse
import os

parser = argparse.ArgumentParser()
parser.add_argument("dir_path", type=str, help='Paste the link to the directory.')
parser.add_argument("-a", "--action", help='Select an action.', default="up", choices=['up', 'down'])
args = parser.parse_args()


def find_files(dir_path: str):
"""Create dictionary with file name and size.
Args:
dir_path : The path to the folder.
Returns:
dict: Returns a dictionary with folder files and their sizes.
"""
f_dict = {}
files = os.listdir(dir_path)
for fi in files:
f_path = os.path.join(dir_path, fi)
if os.path.isfile(f_path):
onlyfiles = fi
f_size = round(os.path.getsize(f_path)/1024, 2)
f_dict[f_size] = onlyfiles
if ~any(f_dict):
print("No files found in the specified path")
return f_dict


def up():
"""Display a dictionary in ascending order of its key values."""
up_dict = dict(sorted(find_files(args.dir_path).items()))
for key in up_dict:
print(up_dict[key], '->', key, 'Kb')


def down():
"""Display a dictionary by decaying the values of its keys."""
down_dict = dict(sorted(find_files(args.dir_path).items(), reverse=True))
for key in down_dict:
print(down_dict[key], '->', key, 'Kb')


if args.action == 'up':
up()
elif args.action == 'down':
down()
else:
print('OOOPS')
15 changes: 15 additions & 0 deletions dk92_komarenko/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
=============================================
Python course: lab works
=============================================

Author
-----

* **Full name:** Komarenko Dmytro
* **Organization/University:** `National Technical University of Ukraine
"Igor Sikorsky Kyiv Polytechnic Institute" <https://kpi.ua/en>`__
* **Department:** `The Department of Design of Electronic Computing Equipment <http://www.keoa.kpi.ua/wp/en_US/#>`__
* **Telegram:** `@dmk0704 <https://t.me/dmk0704>`__
* **Email:** `dmk0704@gmail.com <mailto:dmk0704@gmail.com>`__


22 changes: 21 additions & 1 deletion mkr1/DK-92_Komarenko_Dmytro_Olehovych.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,37 @@
Комаренко Дмитро Олегович
==============================


#. Що таке Git та для чого використовується? Як створити новий локальний репозиторій Git? Наведіть команди.
- Git- це розподілена система керування версіями файлів та спільної роботи.
~ mkdir projects
~ cd projects
~ git init
#. Який формат опису повідомлень комітів використовується в курсі? Навіщо потрібно дотримуватися певного формату?
Наведіть приклад команди, що додає до репозиторію коміт з важливими виправленнями кодової бази

-
#. Список (list) та кортеж (tuple). Для чого використовуються? В чому їх схожості та відмінності? Наведіть приклади коду.
- Список - це складний тип даних в мові програмування Python, який може зберігати різні типи даних і може змінювати елементи, щойно створені.
Кортеж - це складний тип даних в мові програмування Python, який може зберігати різні типи даних і не може змінювати елементи, щойно створені.
І List, і Tuple використовуються для зберігання набору елементів у Python.
Індекс списку та кортежу починається з нуля.
Кожен елемент відокремлений комою у списку та кортежі.
І List, і Tuple можуть мати різні типи елементів.
Список може містити вкладений список, а кортеж може містити вкладений кортеж.
І List, і Tuple підтримують негативну індексацію.
Змінюваність
Список можна змінити. Він може бути змінений, коли він створений. Кортеж незмінний. Його не можна змінити, коли створено.
Охоплюючі елементи
Елементи списку укладаються у квадратні дужки. Елементи кортежу укладені в дужки.
Швидкість
Ітерація через елементи у списку не є швидкою, як у кортежі.
#. Наведіть код для створення списку, що містить в якості елементів цілочисленні значення від 1 до 19 (включно) з кроком 1,
тобто 1, 3, 5, 7, 9, 11, 13, 15, 17, 19. У відповіді вирішальне значення має оптимальність конструкції.

#. Що таке she-bang та для чого використовується? Який she-bang буде максимально коректним для Python 3?
Чи використовується she-bang в скриптах? Якщо так, чому? Якщо ні, коли?
- Шебанг - послідовність із двох символів: «решітки» та знака оклику (#!), яка ставиться на початку файлу (текстового), написаного на скриптовій мові.
максимально коректний для Python 3: #!/usr/bin/env python3
#. Аргументи функцій. Яким чином задати значення аргументу за замовчуванням? Коли це не спрацює?
Наведіть приклади (пов'язані з галуззю електроніки, наприклад, розрахунок за формулою).

Expand Down