From edc59e10c77d3075c85e3117f8b14033299b6092 Mon Sep 17 00:00:00 2001 From: Timur Date: Sat, 30 May 2026 11:53:10 +0300 Subject: [PATCH] Initial commit: project structure and Git basics --- .gitignore | 29 ++++++++++++++++++++++++ 01_git_basics/data.txt | 10 +++++++++ 01_git_basics/process_data.py | 41 ++++++++++++++++++++++++++++++++++ README.md | 20 +++++++++++++++++ requirements.txt | Bin 0 -> 4108 bytes 5 files changed, 100 insertions(+) create mode 100644 .gitignore create mode 100644 01_git_basics/data.txt create mode 100644 01_git_basics/process_data.py create mode 100644 README.md create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cf7558f --- /dev/null +++ b/.gitignore @@ -0,0 +1,29 @@ +# Виртуальное окружение +.venv/ +venv/ +env/ + +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so + +# Jupyter +.ipynb_checkpoints/ + +# Данные и результаты +output.txt +*.csv +*.jpg +*.png + +# IDE +.vscode/ +.idea/ +*.swp +*.swo + +# OS +.DS_Store +Thumbs.db \ No newline at end of file diff --git a/01_git_basics/data.txt b/01_git_basics/data.txt new file mode 100644 index 0000000..b1326ad --- /dev/null +++ b/01_git_basics/data.txt @@ -0,0 +1,10 @@ +python это мощный язык программирования +git управляет версиями кода +tcp гарантирует доставку данных +udp работает быстрее но без гарантий +jupyterlab удобен для анализа данных +pandas обрабатывает таблицы +нейросети учатся на примерах +виртуальные окружения изолируют зависимости +машинное обучение меняет мир +спектральная кластеризация сегментирует изображения \ No newline at end of file diff --git a/01_git_basics/process_data.py b/01_git_basics/process_data.py new file mode 100644 index 0000000..7bb66ee --- /dev/null +++ b/01_git_basics/process_data.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +""" +Скрипт обработки текстовых данных: +- Чтение из data.txt +- Преобразование в верхний регистр +- Сортировка по алфавиту +- Запись в output.txt +""" + +def main(): + """Основная функция обработки файла""" + try: + # Чтение файла + with open('data.txt', 'r', encoding='utf-8') as f: + lines = f.readlines() + + # Обработка: убираем пробелы, переводим в верхний регистр + processed_lines = [] + for line in lines: + cleaned = line.strip() + if cleaned: + processed_lines.append(cleaned.upper()) + + # Сортировка + processed_lines.sort() + + # Запись результата + with open('output.txt', 'w', encoding='utf-8') as f: + for line in processed_lines: + f.write(line + '\n') + + print(f"✓ Обработано {len(processed_lines)} строк") + print("✓ Результат сохранен в output.txt") + + except FileNotFoundError: + print("✗ Ошибка: файл data.txt не найден") + except Exception as e: + print(f"✗ Ошибка: {e}") + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..b1dcad3 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +# Учебная практика по разработке ПО + +## Описание +Проект выполнен в рамках учебной практики. Включает: +- Работу с Git и Gitea +- Анализ данных в JupyterLab +- Сетевое программирование (TCP/UDP) +- Машинное обучение (спектральная кластеризация) + +## Структура +- `01_git_basics/` - основы Git и Python +- `02_jupyter_analysis/` - анализ данных +- `03_networking/` - сетевые соединения +- `04_spectral_clustering/` - кластеризация изображений + +## Установка +```bash +python -m venv .venv +.\.venv\Scripts\activate +pip install -r requirements.txt \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..2bab1c20ac491fe2b4e561097fc9b3d9f81239ca GIT binary patch literal 4108 zcmai%OK%%T5QOI(AU}nINm-J0@FCYA1_C&joCLl_nOaihDti3*B=vQ%cXnmP0l}r9 z>FKVne(pbiPfJr?%BJkfXMH}FvobE{dVVNBm!HbC9Lic}O_`KYnU|G5n~*X8)1cMr1i6sKe91xF${mR6r#`Bs+FWDQ0LR--)1her5DWh=ywCo5+I zPtbDc5L^z>&*bS$`nTQ9arx9?;AASTt-M(2cPlMB{qBXcvIge!z%!EsH|FIw&aqWF zo$Ksy(v@6(5Wh&l>Ez`3kZt%#PS8taj?&c1=SFA_8(5%_n0Bx&hcBJXvK=I))e zQg<6YIYp;42MihGi#W4YB9~UF=SH6G!bTgu^lg~u)bch{(B%3Z>g&sm#KK;B=dwT# zokxzFi|mSY0WdoP#!Z)b5o@qJ((^BU&3kgxudzF^+?OXy_u(@UuT?aZyAc|gvu5;C zm9_tUFHLPaPk)5>M%KX%X4kT-5C4*>KHj1H&B^QghzY&TJP|#tevHZ(V%v&U$Df!W zibMiMr$>{fA2l7T#xqZn-D+gOIB@r-e*o)3akfBHLP+{qx0o-0ykgv_v*y8 zab>@y-_ted>21W%o?8zrxp%xLHwsRPIej7hcE=;{;GEw0*qx)*(c`=k%WreWRmIbh zu?%(P__txlJ-T*kr0A@kUzQyPt<3bx#z02h%9r6x zOMH*|f6g*|b1%ogy)4ajf2zp=M>#*ReNbgK5cw-iwZ+o5WqHojfmx?XD`@JZ-3k`4WWrd3L z>?6Y+tMvP#S2=w#G%Kli*x5RrLA08g@W*baRCuJiu$WvEU zP9J2zYjzIOHP?UmTx;?;T5KBq-3-lCperixTq}bw|M!k(YX8oa?zp~NS@EuecD{*x zF9b))!G$B=-<_?Kxw}#IlB2|gU7QUFd34puX35lLTeUZleasWOlW*JKnnPbDK^K^m zKO{ph@WxN(RMhC9mlE~y0xlNW#lOcN&!yIRhnx%lQ644B*SXV7!0M%&Ko_ pS(Ek?S^N1UB)pAM-#clu$CgIQ@*uJ#dBYs@d*a((PlncA>|ed)U335d literal 0 HcmV?d00001