From 1b75bdde929e31db0716bf978774dd824b23e31f Mon Sep 17 00:00:00 2001 From: Konstantin L Date: Mon, 24 May 2021 10:29:23 +0300 Subject: [PATCH 1/7] Done --- 1_date_and_time.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/1_date_and_time.py b/1_date_and_time.py index e72d76a..1a55372 100644 --- a/1_date_and_time.py +++ b/1_date_and_time.py @@ -7,22 +7,25 @@ 2. Превратите строку "01/01/20 12:10:03.234567" в объект datetime """ +from datetime import datetime, timedelta + def print_days(): - """ - Эта функция вызывается автоматически при запуске скрипта в консоли - В ней надо заменить pass на ваш код - """ - pass + dt_now = datetime.now() + delta = timedelta(days=1) + delta_m = timedelta(days=30) + dt_yesterday = dt_now - delta + dt_month = dt_now - delta_m + print(f'Вчера: {dt_yesterday}', f'сегодня: {dt_now}', f'30 дней назад: {dt_month}', sep='\n') def str_2_datetime(date_string): - """ - Эта функция вызывается автоматически при запуске скрипта в консоли - В ней надо заменить pass на ваш код - """ - pass + date_dt = datetime.strptime(date_string, '%d/%m/%y %H:%M:%S.%f') + return date_dt if __name__ == "__main__": print_days() print(str_2_datetime("01/01/20 12:10:03.234567")) + + + From bc3b97b9bf38f5732488a67665b4333dab0967b3 Mon Sep 17 00:00:00 2001 From: Konstantin L Date: Mon, 24 May 2021 12:42:30 +0300 Subject: [PATCH 2/7] Done --- 2_files.py | 34 +++++++++++++++++++++++++++++----- referat.txt | 7 +++++++ referat2.txt | 28 ++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+), 5 deletions(-) create mode 100644 referat.txt create mode 100644 referat2.txt diff --git a/2_files.py b/2_files.py index 5072b13..506e33b 100644 --- a/2_files.py +++ b/2_files.py @@ -11,12 +11,36 @@ 5. Сохраните результат в файл referat2.txt """ + + + def main(): - """ - Эта функция вызывается автоматически при запуске скрипта в консоли - В ней надо заменить pass на ваш код - """ - pass + with open(r'C:\projects\learn-homework-2\referat.txt', 'r', encoding='utf-8') as f: + for line in f: + lines_count = 0 + line_len = len(line) + lines_count += line_len + with open(r'C:\projects\learn-homework-2\referat2.txt', 'a', encoding='utf-8') as ref2: + ref2.write(f'Длина строки: {line} равна: {lines_count}') + ref2.write('\n') + lines_count = 0 + + with open(r'C:\projects\learn-homework-2\referat.txt', 'r', encoding='utf-8') as f: + for line in f: + words = 0 + text = line.split(' ') + words += len(text) + with open(r'C:\projects\learn-homework-2\referat2.txt', 'a', encoding='utf-8') as ref3: + ref3.write(f'Количество слов в строке: {words}') + ref3.write('\n') + words = 0 + + with open(r'C:\projects\learn-homework-2\referat.txt', 'r', encoding='utf-8') as f: + for line in f: + text = line.replace('.', '!') + with open(r'C:\projects\learn-homework-2\referat2.txt', 'a', encoding='utf-8') as ref4: + ref4.write(text) + if __name__ == "__main__": main() diff --git a/referat.txt b/referat.txt new file mode 100644 index 0000000..e6e7a0f --- /dev/null +++ b/referat.txt @@ -0,0 +1,7 @@ +Сочинение +Тема: «Экваториальный популяционный индекс: гипотеза и теории» +Ось, после осторожного анализа, аннигилирует неопровержимый экватор. Скиннер, однако, настаивал, что пустое подмножество индивидуально понимает конвергентный гендер. Воспитание притягивает космический предел функции. Функция многих переменных притягивает тропический год. + +Однако, исследователи постоянно сталкиваются с тем, что ригидность многопланово решает первоначальный генезис, день этот пришелся на двадцать шестое число месяца карнея, который у афинян называется метагитнионом. Представляется логичным, что керн ничтожно охватывает возрастной контрпример, так, например, Ричард Бендлер для построения эффективных состояний использовал изменение субмодальностей. Линейное уравнение меняет коллинеарный популяционный индекс в силу которого смешивает субъективное и объективное, переносит свои внутренние побуждения на реальные связи вещей. То, что написано на этой странице неправда! Следовательно: предсознательное продуцирует эффективный диаметp. Эклиптика колеблет контраст. Арифметическая прогрессия недоступно решает межпланетный постулат. + +Представленный контент-анализ является психолингвистическим в своей основе, таким образом гетерогенность непосредственно начинает Юпитер. Определитель системы линейных уравнений допускает индивидуальный автоматизм. Реликтовый ледник, на первый взгляд, просветляет вектор. Лидерство ищет метод последовательных приближений, в полном соответствии с основными законами развития человека. \ No newline at end of file diff --git a/referat2.txt b/referat2.txt new file mode 100644 index 0000000..c50e870 --- /dev/null +++ b/referat2.txt @@ -0,0 +1,28 @@ + +Длина строки: Сочинение + равна: 10 +Длина строки: Тема: «Экваториальный популяционный индекс: гипотеза и теории» + равна: 63 +Длина строки: Ось, после осторожного анализа, аннигилирует неопровержимый экватор. Скиннер, однако, настаивал, что пустое подмножество индивидуально понимает конвергентный гендер. Воспитание притягивает космический предел функции. Функция многих переменных притягивает тропический год. + равна: 272 +Длина строки: + равна: 1 +Длина строки: Однако, исследователи постоянно сталкиваются с тем, что ригидность многопланово решает первоначальный генезис, день этот пришелся на двадцать шестое число месяца карнея, который у афинян называется метагитнионом. Представляется логичным, что керн ничтожно охватывает возрастной контрпример, так, например, Ричард Бендлер для построения эффективных состояний использовал изменение субмодальностей. Линейное уравнение меняет коллинеарный популяционный индекс в силу которого смешивает субъективное и объективное, переносит свои внутренние побуждения на реальные связи вещей. То, что написано на этой странице неправда! Следовательно: предсознательное продуцирует эффективный диаметp. Эклиптика колеблет контраст. Арифметическая прогрессия недоступно решает межпланетный постулат. + равна: 778 +Длина строки: + равна: 1 +Длина строки: Представленный контент-анализ является психолингвистическим в своей основе, таким образом гетерогенность непосредственно начинает Юпитер. Определитель системы линейных уравнений допускает индивидуальный автоматизм. Реликтовый ледник, на первый взгляд, просветляет вектор. Лидерство ищет метод последовательных приближений, в полном соответствии с основными законами развития человека. равна: 384 +Количество слов в строке: 1 +Количество слов в строке: 7 +Количество слов в строке: 28 +Количество слов в строке: 1 +Количество слов в строке: 87 +Количество слов в строке: 1 +Количество слов в строке: 40 +Сочинение +Тема: «Экваториальный популяционный индекс: гипотеза и теории» +Ось, после осторожного анализа, аннигилирует неопровержимый экватор! Скиннер, однако, настаивал, что пустое подмножество индивидуально понимает конвергентный гендер! Воспитание притягивает космический предел функции! Функция многих переменных притягивает тропический год! + +Однако, исследователи постоянно сталкиваются с тем, что ригидность многопланово решает первоначальный генезис, день этот пришелся на двадцать шестое число месяца карнея, который у афинян называется метагитнионом! Представляется логичным, что керн ничтожно охватывает возрастной контрпример, так, например, Ричард Бендлер для построения эффективных состояний использовал изменение субмодальностей! Линейное уравнение меняет коллинеарный популяционный индекс в силу которого смешивает субъективное и объективное, переносит свои внутренние побуждения на реальные связи вещей! То, что написано на этой странице неправда! Следовательно: предсознательное продуцирует эффективный диаметp! Эклиптика колеблет контраст! Арифметическая прогрессия недоступно решает межпланетный постулат! + +Представленный контент-анализ является психолингвистическим в своей основе, таким образом гетерогенность непосредственно начинает Юпитер! Определитель системы линейных уравнений допускает индивидуальный автоматизм! Реликтовый ледник, на первый взгляд, просветляет вектор! Лидерство ищет метод последовательных приближений, в полном соответствии с основными законами развития человека! \ No newline at end of file From 8a4ffd5cdecb54779df6fe5e75782bbb60cbd3db Mon Sep 17 00:00:00 2001 From: Konstantin L Date: Mon, 24 May 2021 15:03:39 +0300 Subject: [PATCH 3/7] Done --- 2_files.py | 12 ++++++------ 3_dict_to_csv.py | 21 ++++++++++++++++----- export.csv | 5 +++++ referat2.txt | 1 - 4 files changed, 27 insertions(+), 12 deletions(-) create mode 100644 export.csv diff --git a/2_files.py b/2_files.py index 506e33b..d7951bc 100644 --- a/2_files.py +++ b/2_files.py @@ -15,30 +15,30 @@ def main(): - with open(r'C:\projects\learn-homework-2\referat.txt', 'r', encoding='utf-8') as f: + with open(r'referat.txt', 'r', encoding='utf-8') as f: for line in f: lines_count = 0 line_len = len(line) lines_count += line_len - with open(r'C:\projects\learn-homework-2\referat2.txt', 'a', encoding='utf-8') as ref2: + with open(r'referat2.txt', 'a', encoding='utf-8') as ref2: ref2.write(f'Длина строки: {line} равна: {lines_count}') ref2.write('\n') lines_count = 0 - with open(r'C:\projects\learn-homework-2\referat.txt', 'r', encoding='utf-8') as f: + with open(r'referat.txt', 'r', encoding='utf-8') as f: for line in f: words = 0 text = line.split(' ') words += len(text) - with open(r'C:\projects\learn-homework-2\referat2.txt', 'a', encoding='utf-8') as ref3: + with open(r'referat2.txt', 'a', encoding='utf-8') as ref3: ref3.write(f'Количество слов в строке: {words}') ref3.write('\n') words = 0 - with open(r'C:\projects\learn-homework-2\referat.txt', 'r', encoding='utf-8') as f: + with open(r'referat.txt', 'r', encoding='utf-8') as f: for line in f: text = line.replace('.', '!') - with open(r'C:\projects\learn-homework-2\referat2.txt', 'a', encoding='utf-8') as ref4: + with open(r'referat2.txt', 'a', encoding='utf-8') as ref4: ref4.write(text) diff --git a/3_dict_to_csv.py b/3_dict_to_csv.py index 44d6efb..1fd755a 100644 --- a/3_dict_to_csv.py +++ b/3_dict_to_csv.py @@ -10,12 +10,23 @@ """ +import csv + +my_dict = [ + {'name': 'Маша', 'age': 25, 'job': 'Scientist'}, + {'name': 'Вася', 'age': 8, 'job': 'Programmer'}, + {'name': 'Эдуард', 'age': 48, 'job': 'Big boss'}, + {'name': 'Костя', 'age': 31, 'job': 'janitor'} + ] + def main(): - """ - Эта функция вызывается автоматически при запуске скрипта в консоли - В ней надо заменить pass на ваш код - """ - pass + with open('export.csv', 'w', encoding='utf-8') as ex: + fields = ['name', 'age', 'job'] + writer = csv.DictWriter(ex, fields, delimiter=';') + writer.writeheader() + + for users in my_dict: + writer.writerow(users) if __name__ == "__main__": main() diff --git a/export.csv b/export.csv new file mode 100644 index 0000000..2610f55 --- /dev/null +++ b/export.csv @@ -0,0 +1,5 @@ +name;age;job +Маша;25;Scientist +Вася;8;Programmer +Эдуард;48;Big boss +Костя;31;janitor diff --git a/referat2.txt b/referat2.txt index c50e870..ee6b395 100644 --- a/referat2.txt +++ b/referat2.txt @@ -1,4 +1,3 @@ - Длина строки: Сочинение равна: 10 Длина строки: Тема: «Экваториальный популяционный индекс: гипотеза и теории» From c23c783a6fab3ada221c75b43e32666022697d7b Mon Sep 17 00:00:00 2001 From: Konstantin L Date: Mon, 24 May 2021 15:20:47 +0300 Subject: [PATCH 4/7] 1 --- .gitignore | 123 --------------------------------------------- 1_date_and_time.py | 31 ------------ 2_files.py | 46 ----------------- 3_dict_to_csv.py | 32 ------------ README.md | 14 ------ export.csv | 5 -- referat.txt | 7 --- referat2.txt | 27 ---------- 8 files changed, 285 deletions(-) delete mode 100644 .gitignore delete mode 100644 1_date_and_time.py delete mode 100644 2_files.py delete mode 100644 3_dict_to_csv.py delete mode 100644 README.md delete mode 100644 export.csv delete mode 100644 referat.txt delete mode 100644 referat2.txt diff --git a/.gitignore b/.gitignore deleted file mode 100644 index af6d502..0000000 --- a/.gitignore +++ /dev/null @@ -1,123 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -pip-wheel-metadata/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -.hypothesis/ -.pytest_cache/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -.python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# celery beat schedule file -celerybeat-schedule - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ diff --git a/1_date_and_time.py b/1_date_and_time.py deleted file mode 100644 index 1a55372..0000000 --- a/1_date_and_time.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Домашнее задание №2 - -Дата и время - -1. Напечатайте в консоль даты: вчера, сегодня, 30 дней назад -2. Превратите строку "01/01/20 12:10:03.234567" в объект datetime - -""" -from datetime import datetime, timedelta - - -def print_days(): - dt_now = datetime.now() - delta = timedelta(days=1) - delta_m = timedelta(days=30) - dt_yesterday = dt_now - delta - dt_month = dt_now - delta_m - print(f'Вчера: {dt_yesterday}', f'сегодня: {dt_now}', f'30 дней назад: {dt_month}', sep='\n') - - -def str_2_datetime(date_string): - date_dt = datetime.strptime(date_string, '%d/%m/%y %H:%M:%S.%f') - return date_dt - -if __name__ == "__main__": - print_days() - print(str_2_datetime("01/01/20 12:10:03.234567")) - - - diff --git a/2_files.py b/2_files.py deleted file mode 100644 index d7951bc..0000000 --- a/2_files.py +++ /dev/null @@ -1,46 +0,0 @@ -""" -Домашнее задание №2 - -Работа с файлами - - -1. Скачайте файл по ссылке https://www.dropbox.com/s/sipsmqpw1gwzd37/referat.txt?dl=0 -2. Прочитайте содержимое файла в перменную, подсчитайте длинну получившейся строки -3. Подсчитайте количество слов в тексте -4. Замените точки в тексте на восклицательные знаки -5. Сохраните результат в файл referat2.txt -""" - - - - -def main(): - with open(r'referat.txt', 'r', encoding='utf-8') as f: - for line in f: - lines_count = 0 - line_len = len(line) - lines_count += line_len - with open(r'referat2.txt', 'a', encoding='utf-8') as ref2: - ref2.write(f'Длина строки: {line} равна: {lines_count}') - ref2.write('\n') - lines_count = 0 - - with open(r'referat.txt', 'r', encoding='utf-8') as f: - for line in f: - words = 0 - text = line.split(' ') - words += len(text) - with open(r'referat2.txt', 'a', encoding='utf-8') as ref3: - ref3.write(f'Количество слов в строке: {words}') - ref3.write('\n') - words = 0 - - with open(r'referat.txt', 'r', encoding='utf-8') as f: - for line in f: - text = line.replace('.', '!') - with open(r'referat2.txt', 'a', encoding='utf-8') as ref4: - ref4.write(text) - - -if __name__ == "__main__": - main() diff --git a/3_dict_to_csv.py b/3_dict_to_csv.py deleted file mode 100644 index 1fd755a..0000000 --- a/3_dict_to_csv.py +++ /dev/null @@ -1,32 +0,0 @@ -""" - -Домашнее задание №2 - -Работа csv - -1. Создайте список словарей с ключами name, age и job и значениями по вашему выбору. - В списке нужно создать не менее 4-х словарей -2. Запишите содержимое списка словарей в файл в формате csv - -""" - -import csv - -my_dict = [ - {'name': 'Маша', 'age': 25, 'job': 'Scientist'}, - {'name': 'Вася', 'age': 8, 'job': 'Programmer'}, - {'name': 'Эдуард', 'age': 48, 'job': 'Big boss'}, - {'name': 'Костя', 'age': 31, 'job': 'janitor'} - ] - -def main(): - with open('export.csv', 'w', encoding='utf-8') as ex: - fields = ['name', 'age', 'job'] - writer = csv.DictWriter(ex, fields, delimiter=';') - writer.writeheader() - - for users in my_dict: - writer.writerow(users) - -if __name__ == "__main__": - main() diff --git a/README.md b/README.md deleted file mode 100644 index 4e3e458..0000000 --- a/README.md +++ /dev/null @@ -1,14 +0,0 @@ -LearnPython: Домашнее задание №2 -================================ - -### Как выполнять задание - -1. Перейдите по на github по ссылке и в правом верхнем углу нажмите Fork ![](https://learn.python.ru/lessons/img/homework1_1.png) -2. Репозиторий продублируется у вас на аккаунте -3. В своем репозитории нажмите зеленую кнопку Clone or Download и скопируйте ссылку ![](https://learn.python.ru/lessons/img/homework1_2.png) -4. В командной строке у себя на копьютере перейдите в папку `C:\projects` на Windows или `~/projects` на Linux и Mac -5. Наберите команду `git clone СКОПРИОВАННЫЙ URL` -6. Код урока появится в папке `learn-homework-2` -7. Выполните задания в каждом из файлов, сделайте commit и push и оправьте ссылки на ваш репозиторий куратору - -Если у вас возникли сложности при выполнении задания - напишите своему куратору! diff --git a/export.csv b/export.csv deleted file mode 100644 index 2610f55..0000000 --- a/export.csv +++ /dev/null @@ -1,5 +0,0 @@ -name;age;job -Маша;25;Scientist -Вася;8;Programmer -Эдуард;48;Big boss -Костя;31;janitor diff --git a/referat.txt b/referat.txt deleted file mode 100644 index e6e7a0f..0000000 --- a/referat.txt +++ /dev/null @@ -1,7 +0,0 @@ -Сочинение -Тема: «Экваториальный популяционный индекс: гипотеза и теории» -Ось, после осторожного анализа, аннигилирует неопровержимый экватор. Скиннер, однако, настаивал, что пустое подмножество индивидуально понимает конвергентный гендер. Воспитание притягивает космический предел функции. Функция многих переменных притягивает тропический год. - -Однако, исследователи постоянно сталкиваются с тем, что ригидность многопланово решает первоначальный генезис, день этот пришелся на двадцать шестое число месяца карнея, который у афинян называется метагитнионом. Представляется логичным, что керн ничтожно охватывает возрастной контрпример, так, например, Ричард Бендлер для построения эффективных состояний использовал изменение субмодальностей. Линейное уравнение меняет коллинеарный популяционный индекс в силу которого смешивает субъективное и объективное, переносит свои внутренние побуждения на реальные связи вещей. То, что написано на этой странице неправда! Следовательно: предсознательное продуцирует эффективный диаметp. Эклиптика колеблет контраст. Арифметическая прогрессия недоступно решает межпланетный постулат. - -Представленный контент-анализ является психолингвистическим в своей основе, таким образом гетерогенность непосредственно начинает Юпитер. Определитель системы линейных уравнений допускает индивидуальный автоматизм. Реликтовый ледник, на первый взгляд, просветляет вектор. Лидерство ищет метод последовательных приближений, в полном соответствии с основными законами развития человека. \ No newline at end of file diff --git a/referat2.txt b/referat2.txt deleted file mode 100644 index ee6b395..0000000 --- a/referat2.txt +++ /dev/null @@ -1,27 +0,0 @@ -Длина строки: Сочинение - равна: 10 -Длина строки: Тема: «Экваториальный популяционный индекс: гипотеза и теории» - равна: 63 -Длина строки: Ось, после осторожного анализа, аннигилирует неопровержимый экватор. Скиннер, однако, настаивал, что пустое подмножество индивидуально понимает конвергентный гендер. Воспитание притягивает космический предел функции. Функция многих переменных притягивает тропический год. - равна: 272 -Длина строки: - равна: 1 -Длина строки: Однако, исследователи постоянно сталкиваются с тем, что ригидность многопланово решает первоначальный генезис, день этот пришелся на двадцать шестое число месяца карнея, который у афинян называется метагитнионом. Представляется логичным, что керн ничтожно охватывает возрастной контрпример, так, например, Ричард Бендлер для построения эффективных состояний использовал изменение субмодальностей. Линейное уравнение меняет коллинеарный популяционный индекс в силу которого смешивает субъективное и объективное, переносит свои внутренние побуждения на реальные связи вещей. То, что написано на этой странице неправда! Следовательно: предсознательное продуцирует эффективный диаметp. Эклиптика колеблет контраст. Арифметическая прогрессия недоступно решает межпланетный постулат. - равна: 778 -Длина строки: - равна: 1 -Длина строки: Представленный контент-анализ является психолингвистическим в своей основе, таким образом гетерогенность непосредственно начинает Юпитер. Определитель системы линейных уравнений допускает индивидуальный автоматизм. Реликтовый ледник, на первый взгляд, просветляет вектор. Лидерство ищет метод последовательных приближений, в полном соответствии с основными законами развития человека. равна: 384 -Количество слов в строке: 1 -Количество слов в строке: 7 -Количество слов в строке: 28 -Количество слов в строке: 1 -Количество слов в строке: 87 -Количество слов в строке: 1 -Количество слов в строке: 40 -Сочинение -Тема: «Экваториальный популяционный индекс: гипотеза и теории» -Ось, после осторожного анализа, аннигилирует неопровержимый экватор! Скиннер, однако, настаивал, что пустое подмножество индивидуально понимает конвергентный гендер! Воспитание притягивает космический предел функции! Функция многих переменных притягивает тропический год! - -Однако, исследователи постоянно сталкиваются с тем, что ригидность многопланово решает первоначальный генезис, день этот пришелся на двадцать шестое число месяца карнея, который у афинян называется метагитнионом! Представляется логичным, что керн ничтожно охватывает возрастной контрпример, так, например, Ричард Бендлер для построения эффективных состояний использовал изменение субмодальностей! Линейное уравнение меняет коллинеарный популяционный индекс в силу которого смешивает субъективное и объективное, переносит свои внутренние побуждения на реальные связи вещей! То, что написано на этой странице неправда! Следовательно: предсознательное продуцирует эффективный диаметp! Эклиптика колеблет контраст! Арифметическая прогрессия недоступно решает межпланетный постулат! - -Представленный контент-анализ является психолингвистическим в своей основе, таким образом гетерогенность непосредственно начинает Юпитер! Определитель системы линейных уравнений допускает индивидуальный автоматизм! Реликтовый ледник, на первый взгляд, просветляет вектор! Лидерство ищет метод последовательных приближений, в полном соответствии с основными законами развития человека! \ No newline at end of file From 47fd91522871a0eb30cecf7c43bcfb6b4568a683 Mon Sep 17 00:00:00 2001 From: Konstantin L Date: Mon, 24 May 2021 15:26:25 +0300 Subject: [PATCH 5/7] Revert "1" This reverts commit c23c783a6fab3ada221c75b43e32666022697d7b. --- .gitignore | 123 +++++++++++++++++++++++++++++++++++++++++++++ 1_date_and_time.py | 31 ++++++++++++ 2_files.py | 46 +++++++++++++++++ 3_dict_to_csv.py | 32 ++++++++++++ README.md | 14 ++++++ export.csv | 5 ++ referat.txt | 7 +++ referat2.txt | 27 ++++++++++ 8 files changed, 285 insertions(+) create mode 100644 .gitignore create mode 100644 1_date_and_time.py create mode 100644 2_files.py create mode 100644 3_dict_to_csv.py create mode 100644 README.md create mode 100644 export.csv create mode 100644 referat.txt create mode 100644 referat2.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..af6d502 --- /dev/null +++ b/.gitignore @@ -0,0 +1,123 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ diff --git a/1_date_and_time.py b/1_date_and_time.py new file mode 100644 index 0000000..1a55372 --- /dev/null +++ b/1_date_and_time.py @@ -0,0 +1,31 @@ +""" +Домашнее задание №2 + +Дата и время + +1. Напечатайте в консоль даты: вчера, сегодня, 30 дней назад +2. Превратите строку "01/01/20 12:10:03.234567" в объект datetime + +""" +from datetime import datetime, timedelta + + +def print_days(): + dt_now = datetime.now() + delta = timedelta(days=1) + delta_m = timedelta(days=30) + dt_yesterday = dt_now - delta + dt_month = dt_now - delta_m + print(f'Вчера: {dt_yesterday}', f'сегодня: {dt_now}', f'30 дней назад: {dt_month}', sep='\n') + + +def str_2_datetime(date_string): + date_dt = datetime.strptime(date_string, '%d/%m/%y %H:%M:%S.%f') + return date_dt + +if __name__ == "__main__": + print_days() + print(str_2_datetime("01/01/20 12:10:03.234567")) + + + diff --git a/2_files.py b/2_files.py new file mode 100644 index 0000000..d7951bc --- /dev/null +++ b/2_files.py @@ -0,0 +1,46 @@ +""" +Домашнее задание №2 + +Работа с файлами + + +1. Скачайте файл по ссылке https://www.dropbox.com/s/sipsmqpw1gwzd37/referat.txt?dl=0 +2. Прочитайте содержимое файла в перменную, подсчитайте длинну получившейся строки +3. Подсчитайте количество слов в тексте +4. Замените точки в тексте на восклицательные знаки +5. Сохраните результат в файл referat2.txt +""" + + + + +def main(): + with open(r'referat.txt', 'r', encoding='utf-8') as f: + for line in f: + lines_count = 0 + line_len = len(line) + lines_count += line_len + with open(r'referat2.txt', 'a', encoding='utf-8') as ref2: + ref2.write(f'Длина строки: {line} равна: {lines_count}') + ref2.write('\n') + lines_count = 0 + + with open(r'referat.txt', 'r', encoding='utf-8') as f: + for line in f: + words = 0 + text = line.split(' ') + words += len(text) + with open(r'referat2.txt', 'a', encoding='utf-8') as ref3: + ref3.write(f'Количество слов в строке: {words}') + ref3.write('\n') + words = 0 + + with open(r'referat.txt', 'r', encoding='utf-8') as f: + for line in f: + text = line.replace('.', '!') + with open(r'referat2.txt', 'a', encoding='utf-8') as ref4: + ref4.write(text) + + +if __name__ == "__main__": + main() diff --git a/3_dict_to_csv.py b/3_dict_to_csv.py new file mode 100644 index 0000000..1fd755a --- /dev/null +++ b/3_dict_to_csv.py @@ -0,0 +1,32 @@ +""" + +Домашнее задание №2 + +Работа csv + +1. Создайте список словарей с ключами name, age и job и значениями по вашему выбору. + В списке нужно создать не менее 4-х словарей +2. Запишите содержимое списка словарей в файл в формате csv + +""" + +import csv + +my_dict = [ + {'name': 'Маша', 'age': 25, 'job': 'Scientist'}, + {'name': 'Вася', 'age': 8, 'job': 'Programmer'}, + {'name': 'Эдуард', 'age': 48, 'job': 'Big boss'}, + {'name': 'Костя', 'age': 31, 'job': 'janitor'} + ] + +def main(): + with open('export.csv', 'w', encoding='utf-8') as ex: + fields = ['name', 'age', 'job'] + writer = csv.DictWriter(ex, fields, delimiter=';') + writer.writeheader() + + for users in my_dict: + writer.writerow(users) + +if __name__ == "__main__": + main() diff --git a/README.md b/README.md new file mode 100644 index 0000000..4e3e458 --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +LearnPython: Домашнее задание №2 +================================ + +### Как выполнять задание + +1. Перейдите по на github по ссылке и в правом верхнем углу нажмите Fork ![](https://learn.python.ru/lessons/img/homework1_1.png) +2. Репозиторий продублируется у вас на аккаунте +3. В своем репозитории нажмите зеленую кнопку Clone or Download и скопируйте ссылку ![](https://learn.python.ru/lessons/img/homework1_2.png) +4. В командной строке у себя на копьютере перейдите в папку `C:\projects` на Windows или `~/projects` на Linux и Mac +5. Наберите команду `git clone СКОПРИОВАННЫЙ URL` +6. Код урока появится в папке `learn-homework-2` +7. Выполните задания в каждом из файлов, сделайте commit и push и оправьте ссылки на ваш репозиторий куратору + +Если у вас возникли сложности при выполнении задания - напишите своему куратору! diff --git a/export.csv b/export.csv new file mode 100644 index 0000000..2610f55 --- /dev/null +++ b/export.csv @@ -0,0 +1,5 @@ +name;age;job +Маша;25;Scientist +Вася;8;Programmer +Эдуард;48;Big boss +Костя;31;janitor diff --git a/referat.txt b/referat.txt new file mode 100644 index 0000000..e6e7a0f --- /dev/null +++ b/referat.txt @@ -0,0 +1,7 @@ +Сочинение +Тема: «Экваториальный популяционный индекс: гипотеза и теории» +Ось, после осторожного анализа, аннигилирует неопровержимый экватор. Скиннер, однако, настаивал, что пустое подмножество индивидуально понимает конвергентный гендер. Воспитание притягивает космический предел функции. Функция многих переменных притягивает тропический год. + +Однако, исследователи постоянно сталкиваются с тем, что ригидность многопланово решает первоначальный генезис, день этот пришелся на двадцать шестое число месяца карнея, который у афинян называется метагитнионом. Представляется логичным, что керн ничтожно охватывает возрастной контрпример, так, например, Ричард Бендлер для построения эффективных состояний использовал изменение субмодальностей. Линейное уравнение меняет коллинеарный популяционный индекс в силу которого смешивает субъективное и объективное, переносит свои внутренние побуждения на реальные связи вещей. То, что написано на этой странице неправда! Следовательно: предсознательное продуцирует эффективный диаметp. Эклиптика колеблет контраст. Арифметическая прогрессия недоступно решает межпланетный постулат. + +Представленный контент-анализ является психолингвистическим в своей основе, таким образом гетерогенность непосредственно начинает Юпитер. Определитель системы линейных уравнений допускает индивидуальный автоматизм. Реликтовый ледник, на первый взгляд, просветляет вектор. Лидерство ищет метод последовательных приближений, в полном соответствии с основными законами развития человека. \ No newline at end of file diff --git a/referat2.txt b/referat2.txt new file mode 100644 index 0000000..ee6b395 --- /dev/null +++ b/referat2.txt @@ -0,0 +1,27 @@ +Длина строки: Сочинение + равна: 10 +Длина строки: Тема: «Экваториальный популяционный индекс: гипотеза и теории» + равна: 63 +Длина строки: Ось, после осторожного анализа, аннигилирует неопровержимый экватор. Скиннер, однако, настаивал, что пустое подмножество индивидуально понимает конвергентный гендер. Воспитание притягивает космический предел функции. Функция многих переменных притягивает тропический год. + равна: 272 +Длина строки: + равна: 1 +Длина строки: Однако, исследователи постоянно сталкиваются с тем, что ригидность многопланово решает первоначальный генезис, день этот пришелся на двадцать шестое число месяца карнея, который у афинян называется метагитнионом. Представляется логичным, что керн ничтожно охватывает возрастной контрпример, так, например, Ричард Бендлер для построения эффективных состояний использовал изменение субмодальностей. Линейное уравнение меняет коллинеарный популяционный индекс в силу которого смешивает субъективное и объективное, переносит свои внутренние побуждения на реальные связи вещей. То, что написано на этой странице неправда! Следовательно: предсознательное продуцирует эффективный диаметp. Эклиптика колеблет контраст. Арифметическая прогрессия недоступно решает межпланетный постулат. + равна: 778 +Длина строки: + равна: 1 +Длина строки: Представленный контент-анализ является психолингвистическим в своей основе, таким образом гетерогенность непосредственно начинает Юпитер. Определитель системы линейных уравнений допускает индивидуальный автоматизм. Реликтовый ледник, на первый взгляд, просветляет вектор. Лидерство ищет метод последовательных приближений, в полном соответствии с основными законами развития человека. равна: 384 +Количество слов в строке: 1 +Количество слов в строке: 7 +Количество слов в строке: 28 +Количество слов в строке: 1 +Количество слов в строке: 87 +Количество слов в строке: 1 +Количество слов в строке: 40 +Сочинение +Тема: «Экваториальный популяционный индекс: гипотеза и теории» +Ось, после осторожного анализа, аннигилирует неопровержимый экватор! Скиннер, однако, настаивал, что пустое подмножество индивидуально понимает конвергентный гендер! Воспитание притягивает космический предел функции! Функция многих переменных притягивает тропический год! + +Однако, исследователи постоянно сталкиваются с тем, что ригидность многопланово решает первоначальный генезис, день этот пришелся на двадцать шестое число месяца карнея, который у афинян называется метагитнионом! Представляется логичным, что керн ничтожно охватывает возрастной контрпример, так, например, Ричард Бендлер для построения эффективных состояний использовал изменение субмодальностей! Линейное уравнение меняет коллинеарный популяционный индекс в силу которого смешивает субъективное и объективное, переносит свои внутренние побуждения на реальные связи вещей! То, что написано на этой странице неправда! Следовательно: предсознательное продуцирует эффективный диаметp! Эклиптика колеблет контраст! Арифметическая прогрессия недоступно решает межпланетный постулат! + +Представленный контент-анализ является психолингвистическим в своей основе, таким образом гетерогенность непосредственно начинает Юпитер! Определитель системы линейных уравнений допускает индивидуальный автоматизм! Реликтовый ледник, на первый взгляд, просветляет вектор! Лидерство ищет метод последовательных приближений, в полном соответствии с основными законами развития человека! \ No newline at end of file From 83e5d282d0310a2980704df83e8b441950bde5d0 Mon Sep 17 00:00:00 2001 From: Konstantin L Date: Mon, 24 May 2021 15:38:38 +0300 Subject: [PATCH 6/7] rm --- .gitignore | 123 --------------------------------------------- 1_date_and_time.py | 31 ------------ 2_files.py | 46 ----------------- 3_dict_to_csv.py | 32 ------------ README.md | 14 ------ export.csv | 5 -- referat.txt | 7 --- referat2.txt | 27 ---------- 8 files changed, 285 deletions(-) delete mode 100644 .gitignore delete mode 100644 1_date_and_time.py delete mode 100644 2_files.py delete mode 100644 3_dict_to_csv.py delete mode 100644 README.md delete mode 100644 export.csv delete mode 100644 referat.txt delete mode 100644 referat2.txt diff --git a/.gitignore b/.gitignore deleted file mode 100644 index af6d502..0000000 --- a/.gitignore +++ /dev/null @@ -1,123 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -pip-wheel-metadata/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -.hypothesis/ -.pytest_cache/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -.python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# celery beat schedule file -celerybeat-schedule - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ diff --git a/1_date_and_time.py b/1_date_and_time.py deleted file mode 100644 index 1a55372..0000000 --- a/1_date_and_time.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Домашнее задание №2 - -Дата и время - -1. Напечатайте в консоль даты: вчера, сегодня, 30 дней назад -2. Превратите строку "01/01/20 12:10:03.234567" в объект datetime - -""" -from datetime import datetime, timedelta - - -def print_days(): - dt_now = datetime.now() - delta = timedelta(days=1) - delta_m = timedelta(days=30) - dt_yesterday = dt_now - delta - dt_month = dt_now - delta_m - print(f'Вчера: {dt_yesterday}', f'сегодня: {dt_now}', f'30 дней назад: {dt_month}', sep='\n') - - -def str_2_datetime(date_string): - date_dt = datetime.strptime(date_string, '%d/%m/%y %H:%M:%S.%f') - return date_dt - -if __name__ == "__main__": - print_days() - print(str_2_datetime("01/01/20 12:10:03.234567")) - - - diff --git a/2_files.py b/2_files.py deleted file mode 100644 index d7951bc..0000000 --- a/2_files.py +++ /dev/null @@ -1,46 +0,0 @@ -""" -Домашнее задание №2 - -Работа с файлами - - -1. Скачайте файл по ссылке https://www.dropbox.com/s/sipsmqpw1gwzd37/referat.txt?dl=0 -2. Прочитайте содержимое файла в перменную, подсчитайте длинну получившейся строки -3. Подсчитайте количество слов в тексте -4. Замените точки в тексте на восклицательные знаки -5. Сохраните результат в файл referat2.txt -""" - - - - -def main(): - with open(r'referat.txt', 'r', encoding='utf-8') as f: - for line in f: - lines_count = 0 - line_len = len(line) - lines_count += line_len - with open(r'referat2.txt', 'a', encoding='utf-8') as ref2: - ref2.write(f'Длина строки: {line} равна: {lines_count}') - ref2.write('\n') - lines_count = 0 - - with open(r'referat.txt', 'r', encoding='utf-8') as f: - for line in f: - words = 0 - text = line.split(' ') - words += len(text) - with open(r'referat2.txt', 'a', encoding='utf-8') as ref3: - ref3.write(f'Количество слов в строке: {words}') - ref3.write('\n') - words = 0 - - with open(r'referat.txt', 'r', encoding='utf-8') as f: - for line in f: - text = line.replace('.', '!') - with open(r'referat2.txt', 'a', encoding='utf-8') as ref4: - ref4.write(text) - - -if __name__ == "__main__": - main() diff --git a/3_dict_to_csv.py b/3_dict_to_csv.py deleted file mode 100644 index 1fd755a..0000000 --- a/3_dict_to_csv.py +++ /dev/null @@ -1,32 +0,0 @@ -""" - -Домашнее задание №2 - -Работа csv - -1. Создайте список словарей с ключами name, age и job и значениями по вашему выбору. - В списке нужно создать не менее 4-х словарей -2. Запишите содержимое списка словарей в файл в формате csv - -""" - -import csv - -my_dict = [ - {'name': 'Маша', 'age': 25, 'job': 'Scientist'}, - {'name': 'Вася', 'age': 8, 'job': 'Programmer'}, - {'name': 'Эдуард', 'age': 48, 'job': 'Big boss'}, - {'name': 'Костя', 'age': 31, 'job': 'janitor'} - ] - -def main(): - with open('export.csv', 'w', encoding='utf-8') as ex: - fields = ['name', 'age', 'job'] - writer = csv.DictWriter(ex, fields, delimiter=';') - writer.writeheader() - - for users in my_dict: - writer.writerow(users) - -if __name__ == "__main__": - main() diff --git a/README.md b/README.md deleted file mode 100644 index 4e3e458..0000000 --- a/README.md +++ /dev/null @@ -1,14 +0,0 @@ -LearnPython: Домашнее задание №2 -================================ - -### Как выполнять задание - -1. Перейдите по на github по ссылке и в правом верхнем углу нажмите Fork ![](https://learn.python.ru/lessons/img/homework1_1.png) -2. Репозиторий продублируется у вас на аккаунте -3. В своем репозитории нажмите зеленую кнопку Clone or Download и скопируйте ссылку ![](https://learn.python.ru/lessons/img/homework1_2.png) -4. В командной строке у себя на копьютере перейдите в папку `C:\projects` на Windows или `~/projects` на Linux и Mac -5. Наберите команду `git clone СКОПРИОВАННЫЙ URL` -6. Код урока появится в папке `learn-homework-2` -7. Выполните задания в каждом из файлов, сделайте commit и push и оправьте ссылки на ваш репозиторий куратору - -Если у вас возникли сложности при выполнении задания - напишите своему куратору! diff --git a/export.csv b/export.csv deleted file mode 100644 index 2610f55..0000000 --- a/export.csv +++ /dev/null @@ -1,5 +0,0 @@ -name;age;job -Маша;25;Scientist -Вася;8;Programmer -Эдуард;48;Big boss -Костя;31;janitor diff --git a/referat.txt b/referat.txt deleted file mode 100644 index e6e7a0f..0000000 --- a/referat.txt +++ /dev/null @@ -1,7 +0,0 @@ -Сочинение -Тема: «Экваториальный популяционный индекс: гипотеза и теории» -Ось, после осторожного анализа, аннигилирует неопровержимый экватор. Скиннер, однако, настаивал, что пустое подмножество индивидуально понимает конвергентный гендер. Воспитание притягивает космический предел функции. Функция многих переменных притягивает тропический год. - -Однако, исследователи постоянно сталкиваются с тем, что ригидность многопланово решает первоначальный генезис, день этот пришелся на двадцать шестое число месяца карнея, который у афинян называется метагитнионом. Представляется логичным, что керн ничтожно охватывает возрастной контрпример, так, например, Ричард Бендлер для построения эффективных состояний использовал изменение субмодальностей. Линейное уравнение меняет коллинеарный популяционный индекс в силу которого смешивает субъективное и объективное, переносит свои внутренние побуждения на реальные связи вещей. То, что написано на этой странице неправда! Следовательно: предсознательное продуцирует эффективный диаметp. Эклиптика колеблет контраст. Арифметическая прогрессия недоступно решает межпланетный постулат. - -Представленный контент-анализ является психолингвистическим в своей основе, таким образом гетерогенность непосредственно начинает Юпитер. Определитель системы линейных уравнений допускает индивидуальный автоматизм. Реликтовый ледник, на первый взгляд, просветляет вектор. Лидерство ищет метод последовательных приближений, в полном соответствии с основными законами развития человека. \ No newline at end of file diff --git a/referat2.txt b/referat2.txt deleted file mode 100644 index ee6b395..0000000 --- a/referat2.txt +++ /dev/null @@ -1,27 +0,0 @@ -Длина строки: Сочинение - равна: 10 -Длина строки: Тема: «Экваториальный популяционный индекс: гипотеза и теории» - равна: 63 -Длина строки: Ось, после осторожного анализа, аннигилирует неопровержимый экватор. Скиннер, однако, настаивал, что пустое подмножество индивидуально понимает конвергентный гендер. Воспитание притягивает космический предел функции. Функция многих переменных притягивает тропический год. - равна: 272 -Длина строки: - равна: 1 -Длина строки: Однако, исследователи постоянно сталкиваются с тем, что ригидность многопланово решает первоначальный генезис, день этот пришелся на двадцать шестое число месяца карнея, который у афинян называется метагитнионом. Представляется логичным, что керн ничтожно охватывает возрастной контрпример, так, например, Ричард Бендлер для построения эффективных состояний использовал изменение субмодальностей. Линейное уравнение меняет коллинеарный популяционный индекс в силу которого смешивает субъективное и объективное, переносит свои внутренние побуждения на реальные связи вещей. То, что написано на этой странице неправда! Следовательно: предсознательное продуцирует эффективный диаметp. Эклиптика колеблет контраст. Арифметическая прогрессия недоступно решает межпланетный постулат. - равна: 778 -Длина строки: - равна: 1 -Длина строки: Представленный контент-анализ является психолингвистическим в своей основе, таким образом гетерогенность непосредственно начинает Юпитер. Определитель системы линейных уравнений допускает индивидуальный автоматизм. Реликтовый ледник, на первый взгляд, просветляет вектор. Лидерство ищет метод последовательных приближений, в полном соответствии с основными законами развития человека. равна: 384 -Количество слов в строке: 1 -Количество слов в строке: 7 -Количество слов в строке: 28 -Количество слов в строке: 1 -Количество слов в строке: 87 -Количество слов в строке: 1 -Количество слов в строке: 40 -Сочинение -Тема: «Экваториальный популяционный индекс: гипотеза и теории» -Ось, после осторожного анализа, аннигилирует неопровержимый экватор! Скиннер, однако, настаивал, что пустое подмножество индивидуально понимает конвергентный гендер! Воспитание притягивает космический предел функции! Функция многих переменных притягивает тропический год! - -Однако, исследователи постоянно сталкиваются с тем, что ригидность многопланово решает первоначальный генезис, день этот пришелся на двадцать шестое число месяца карнея, который у афинян называется метагитнионом! Представляется логичным, что керн ничтожно охватывает возрастной контрпример, так, например, Ричард Бендлер для построения эффективных состояний использовал изменение субмодальностей! Линейное уравнение меняет коллинеарный популяционный индекс в силу которого смешивает субъективное и объективное, переносит свои внутренние побуждения на реальные связи вещей! То, что написано на этой странице неправда! Следовательно: предсознательное продуцирует эффективный диаметp! Эклиптика колеблет контраст! Арифметическая прогрессия недоступно решает межпланетный постулат! - -Представленный контент-анализ является психолингвистическим в своей основе, таким образом гетерогенность непосредственно начинает Юпитер! Определитель системы линейных уравнений допускает индивидуальный автоматизм! Реликтовый ледник, на первый взгляд, просветляет вектор! Лидерство ищет метод последовательных приближений, в полном соответствии с основными законами развития человека! \ No newline at end of file From 40186145eb22c5d10547c219aeb2288bbc2eae72 Mon Sep 17 00:00:00 2001 From: Konstantin L Date: Mon, 24 May 2021 16:40:13 +0300 Subject: [PATCH 7/7] Revert "rm" This reverts commit 83e5d282d0310a2980704df83e8b441950bde5d0. --- .gitignore | 123 +++++++++++++++++++++++++++++++++++++++++++++ 1_date_and_time.py | 31 ++++++++++++ 2_files.py | 46 +++++++++++++++++ 3_dict_to_csv.py | 32 ++++++++++++ README.md | 14 ++++++ export.csv | 5 ++ referat.txt | 7 +++ referat2.txt | 27 ++++++++++ 8 files changed, 285 insertions(+) create mode 100644 .gitignore create mode 100644 1_date_and_time.py create mode 100644 2_files.py create mode 100644 3_dict_to_csv.py create mode 100644 README.md create mode 100644 export.csv create mode 100644 referat.txt create mode 100644 referat2.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..af6d502 --- /dev/null +++ b/.gitignore @@ -0,0 +1,123 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ diff --git a/1_date_and_time.py b/1_date_and_time.py new file mode 100644 index 0000000..1a55372 --- /dev/null +++ b/1_date_and_time.py @@ -0,0 +1,31 @@ +""" +Домашнее задание №2 + +Дата и время + +1. Напечатайте в консоль даты: вчера, сегодня, 30 дней назад +2. Превратите строку "01/01/20 12:10:03.234567" в объект datetime + +""" +from datetime import datetime, timedelta + + +def print_days(): + dt_now = datetime.now() + delta = timedelta(days=1) + delta_m = timedelta(days=30) + dt_yesterday = dt_now - delta + dt_month = dt_now - delta_m + print(f'Вчера: {dt_yesterday}', f'сегодня: {dt_now}', f'30 дней назад: {dt_month}', sep='\n') + + +def str_2_datetime(date_string): + date_dt = datetime.strptime(date_string, '%d/%m/%y %H:%M:%S.%f') + return date_dt + +if __name__ == "__main__": + print_days() + print(str_2_datetime("01/01/20 12:10:03.234567")) + + + diff --git a/2_files.py b/2_files.py new file mode 100644 index 0000000..d7951bc --- /dev/null +++ b/2_files.py @@ -0,0 +1,46 @@ +""" +Домашнее задание №2 + +Работа с файлами + + +1. Скачайте файл по ссылке https://www.dropbox.com/s/sipsmqpw1gwzd37/referat.txt?dl=0 +2. Прочитайте содержимое файла в перменную, подсчитайте длинну получившейся строки +3. Подсчитайте количество слов в тексте +4. Замените точки в тексте на восклицательные знаки +5. Сохраните результат в файл referat2.txt +""" + + + + +def main(): + with open(r'referat.txt', 'r', encoding='utf-8') as f: + for line in f: + lines_count = 0 + line_len = len(line) + lines_count += line_len + with open(r'referat2.txt', 'a', encoding='utf-8') as ref2: + ref2.write(f'Длина строки: {line} равна: {lines_count}') + ref2.write('\n') + lines_count = 0 + + with open(r'referat.txt', 'r', encoding='utf-8') as f: + for line in f: + words = 0 + text = line.split(' ') + words += len(text) + with open(r'referat2.txt', 'a', encoding='utf-8') as ref3: + ref3.write(f'Количество слов в строке: {words}') + ref3.write('\n') + words = 0 + + with open(r'referat.txt', 'r', encoding='utf-8') as f: + for line in f: + text = line.replace('.', '!') + with open(r'referat2.txt', 'a', encoding='utf-8') as ref4: + ref4.write(text) + + +if __name__ == "__main__": + main() diff --git a/3_dict_to_csv.py b/3_dict_to_csv.py new file mode 100644 index 0000000..1fd755a --- /dev/null +++ b/3_dict_to_csv.py @@ -0,0 +1,32 @@ +""" + +Домашнее задание №2 + +Работа csv + +1. Создайте список словарей с ключами name, age и job и значениями по вашему выбору. + В списке нужно создать не менее 4-х словарей +2. Запишите содержимое списка словарей в файл в формате csv + +""" + +import csv + +my_dict = [ + {'name': 'Маша', 'age': 25, 'job': 'Scientist'}, + {'name': 'Вася', 'age': 8, 'job': 'Programmer'}, + {'name': 'Эдуард', 'age': 48, 'job': 'Big boss'}, + {'name': 'Костя', 'age': 31, 'job': 'janitor'} + ] + +def main(): + with open('export.csv', 'w', encoding='utf-8') as ex: + fields = ['name', 'age', 'job'] + writer = csv.DictWriter(ex, fields, delimiter=';') + writer.writeheader() + + for users in my_dict: + writer.writerow(users) + +if __name__ == "__main__": + main() diff --git a/README.md b/README.md new file mode 100644 index 0000000..4e3e458 --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +LearnPython: Домашнее задание №2 +================================ + +### Как выполнять задание + +1. Перейдите по на github по ссылке и в правом верхнем углу нажмите Fork ![](https://learn.python.ru/lessons/img/homework1_1.png) +2. Репозиторий продублируется у вас на аккаунте +3. В своем репозитории нажмите зеленую кнопку Clone or Download и скопируйте ссылку ![](https://learn.python.ru/lessons/img/homework1_2.png) +4. В командной строке у себя на копьютере перейдите в папку `C:\projects` на Windows или `~/projects` на Linux и Mac +5. Наберите команду `git clone СКОПРИОВАННЫЙ URL` +6. Код урока появится в папке `learn-homework-2` +7. Выполните задания в каждом из файлов, сделайте commit и push и оправьте ссылки на ваш репозиторий куратору + +Если у вас возникли сложности при выполнении задания - напишите своему куратору! diff --git a/export.csv b/export.csv new file mode 100644 index 0000000..2610f55 --- /dev/null +++ b/export.csv @@ -0,0 +1,5 @@ +name;age;job +Маша;25;Scientist +Вася;8;Programmer +Эдуард;48;Big boss +Костя;31;janitor diff --git a/referat.txt b/referat.txt new file mode 100644 index 0000000..e6e7a0f --- /dev/null +++ b/referat.txt @@ -0,0 +1,7 @@ +Сочинение +Тема: «Экваториальный популяционный индекс: гипотеза и теории» +Ось, после осторожного анализа, аннигилирует неопровержимый экватор. Скиннер, однако, настаивал, что пустое подмножество индивидуально понимает конвергентный гендер. Воспитание притягивает космический предел функции. Функция многих переменных притягивает тропический год. + +Однако, исследователи постоянно сталкиваются с тем, что ригидность многопланово решает первоначальный генезис, день этот пришелся на двадцать шестое число месяца карнея, который у афинян называется метагитнионом. Представляется логичным, что керн ничтожно охватывает возрастной контрпример, так, например, Ричард Бендлер для построения эффективных состояний использовал изменение субмодальностей. Линейное уравнение меняет коллинеарный популяционный индекс в силу которого смешивает субъективное и объективное, переносит свои внутренние побуждения на реальные связи вещей. То, что написано на этой странице неправда! Следовательно: предсознательное продуцирует эффективный диаметp. Эклиптика колеблет контраст. Арифметическая прогрессия недоступно решает межпланетный постулат. + +Представленный контент-анализ является психолингвистическим в своей основе, таким образом гетерогенность непосредственно начинает Юпитер. Определитель системы линейных уравнений допускает индивидуальный автоматизм. Реликтовый ледник, на первый взгляд, просветляет вектор. Лидерство ищет метод последовательных приближений, в полном соответствии с основными законами развития человека. \ No newline at end of file diff --git a/referat2.txt b/referat2.txt new file mode 100644 index 0000000..ee6b395 --- /dev/null +++ b/referat2.txt @@ -0,0 +1,27 @@ +Длина строки: Сочинение + равна: 10 +Длина строки: Тема: «Экваториальный популяционный индекс: гипотеза и теории» + равна: 63 +Длина строки: Ось, после осторожного анализа, аннигилирует неопровержимый экватор. Скиннер, однако, настаивал, что пустое подмножество индивидуально понимает конвергентный гендер. Воспитание притягивает космический предел функции. Функция многих переменных притягивает тропический год. + равна: 272 +Длина строки: + равна: 1 +Длина строки: Однако, исследователи постоянно сталкиваются с тем, что ригидность многопланово решает первоначальный генезис, день этот пришелся на двадцать шестое число месяца карнея, который у афинян называется метагитнионом. Представляется логичным, что керн ничтожно охватывает возрастной контрпример, так, например, Ричард Бендлер для построения эффективных состояний использовал изменение субмодальностей. Линейное уравнение меняет коллинеарный популяционный индекс в силу которого смешивает субъективное и объективное, переносит свои внутренние побуждения на реальные связи вещей. То, что написано на этой странице неправда! Следовательно: предсознательное продуцирует эффективный диаметp. Эклиптика колеблет контраст. Арифметическая прогрессия недоступно решает межпланетный постулат. + равна: 778 +Длина строки: + равна: 1 +Длина строки: Представленный контент-анализ является психолингвистическим в своей основе, таким образом гетерогенность непосредственно начинает Юпитер. Определитель системы линейных уравнений допускает индивидуальный автоматизм. Реликтовый ледник, на первый взгляд, просветляет вектор. Лидерство ищет метод последовательных приближений, в полном соответствии с основными законами развития человека. равна: 384 +Количество слов в строке: 1 +Количество слов в строке: 7 +Количество слов в строке: 28 +Количество слов в строке: 1 +Количество слов в строке: 87 +Количество слов в строке: 1 +Количество слов в строке: 40 +Сочинение +Тема: «Экваториальный популяционный индекс: гипотеза и теории» +Ось, после осторожного анализа, аннигилирует неопровержимый экватор! Скиннер, однако, настаивал, что пустое подмножество индивидуально понимает конвергентный гендер! Воспитание притягивает космический предел функции! Функция многих переменных притягивает тропический год! + +Однако, исследователи постоянно сталкиваются с тем, что ригидность многопланово решает первоначальный генезис, день этот пришелся на двадцать шестое число месяца карнея, который у афинян называется метагитнионом! Представляется логичным, что керн ничтожно охватывает возрастной контрпример, так, например, Ричард Бендлер для построения эффективных состояний использовал изменение субмодальностей! Линейное уравнение меняет коллинеарный популяционный индекс в силу которого смешивает субъективное и объективное, переносит свои внутренние побуждения на реальные связи вещей! То, что написано на этой странице неправда! Следовательно: предсознательное продуцирует эффективный диаметp! Эклиптика колеблет контраст! Арифметическая прогрессия недоступно решает межпланетный постулат! + +Представленный контент-анализ является психолингвистическим в своей основе, таким образом гетерогенность непосредственно начинает Юпитер! Определитель системы линейных уравнений допускает индивидуальный автоматизм! Реликтовый ледник, на первый взгляд, просветляет вектор! Лидерство ищет метод последовательных приближений, в полном соответствии с основными законами развития человека! \ No newline at end of file