From ee66525eca4d6da01319bbd9a41ebb00dad2ec15 Mon Sep 17 00:00:00 2001 From: AlexandraPoturaeva Date: Thu, 25 May 2023 17:19:51 +0300 Subject: [PATCH 1/5] first commit --- .idea/.gitignore | 3 +++ .idea/inspectionProfiles/profiles_settings.xml | 6 ++++++ .idea/learn-homework-2.iml | 12 ++++++++++++ .idea/misc.xml | 4 ++++ .idea/modules.xml | 8 ++++++++ .idea/vcs.xml | 6 ++++++ 6 files changed, 39 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/learn-homework-2.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/learn-homework-2.iml b/.idea/learn-homework-2.iml new file mode 100644 index 0000000..8b8c395 --- /dev/null +++ b/.idea/learn-homework-2.iml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..dc9ea49 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..0225a5a --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file From 459788b336a366f853bad7aa65d122ee4edf312f Mon Sep 17 00:00:00 2001 From: AlexandraPoturaeva Date: Thu, 25 May 2023 17:39:15 +0300 Subject: [PATCH 2/5] ex.1 done --- 1_date_and_time.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/1_date_and_time.py b/1_date_and_time.py index e72d76a..f9feb67 100644 --- a/1_date_and_time.py +++ b/1_date_and_time.py @@ -7,13 +7,17 @@ 2. Превратите строку "01/01/20 12:10:03.234567" в объект datetime """ +import datetime + def print_days(): """ Эта функция вызывается автоматически при запуске скрипта в консоли В ней надо заменить pass на ваш код """ - pass + print('Вчера:', (datetime.datetime.today() - datetime.timedelta(1)).date()) + print('Сегодня:', datetime.datetime.today().date()) + print('30 дней назад:', (datetime.datetime.today() - datetime.timedelta(30)).date()) def str_2_datetime(date_string): @@ -21,7 +25,8 @@ def str_2_datetime(date_string): Эта функция вызывается автоматически при запуске скрипта в консоли В ней надо заменить pass на ваш код """ - pass + return datetime.datetime.strptime(date_string, '%m/%d/%y %H:%M:%S.%f') + if __name__ == "__main__": print_days() From 10890bb7de9a794c9436d1b3a412d6eb4183719b Mon Sep 17 00:00:00 2001 From: AlexandraPoturaeva Date: Thu, 25 May 2023 18:19:34 +0300 Subject: [PATCH 3/5] ex.2 done --- .gitignore | 2 ++ 2_files.py | 16 +++++++++++----- referat.txt | 7 +++++++ referat2.txt | 7 +++++++ 4 files changed, 27 insertions(+), 5 deletions(-) create mode 100644 referat.txt create mode 100644 referat2.txt diff --git a/.gitignore b/.gitignore index af6d502..eb681a4 100644 --- a/.gitignore +++ b/.gitignore @@ -121,3 +121,5 @@ dmypy.json # Pyre type checker .pyre/ + +.idea/ diff --git a/2_files.py b/2_files.py index 5072b13..31568c6 100644 --- a/2_files.py +++ b/2_files.py @@ -11,12 +11,18 @@ 5. Сохраните результат в файл referat2.txt """ + def main(): - """ - Эта функция вызывается автоматически при запуске скрипта в консоли - В ней надо заменить pass на ваш код - """ - pass + with open('referat.txt', 'r', encoding='utf-8') as f: + text = f.read() + words = text.split() + print('Длина строки:', len(text)) + print('Количество слов:', len(words)) + text = text.replace('.', '!') + + with open('referat2.txt', 'w', encoding='utf-8') as f: + f.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..8da5d4d --- /dev/null +++ b/referat2.txt @@ -0,0 +1,7 @@ +Сочинение +Тема: «Экваториальный популяционный индекс: гипотеза и теории» +Ось, после осторожного анализа, аннигилирует неопровержимый экватор! Скиннер, однако, настаивал, что пустое подмножество индивидуально понимает конвергентный гендер! Воспитание притягивает космический предел функции! Функция многих переменных притягивает тропический год! + +Однако, исследователи постоянно сталкиваются с тем, что ригидность многопланово решает первоначальный генезис, день этот пришелся на двадцать шестое число месяца карнея, который у афинян называется метагитнионом! Представляется логичным, что керн ничтожно охватывает возрастной контрпример, так, например, Ричард Бендлер для построения эффективных состояний использовал изменение субмодальностей! Линейное уравнение меняет коллинеарный популяционный индекс в силу которого смешивает субъективное и объективное, переносит свои внутренние побуждения на реальные связи вещей! То, что написано на этой странице неправда! Следовательно: предсознательное продуцирует эффективный диаметp! Эклиптика колеблет контраст! Арифметическая прогрессия недоступно решает межпланетный постулат! + +Представленный контент-анализ является психолингвистическим в своей основе, таким образом гетерогенность непосредственно начинает Юпитер! Определитель системы линейных уравнений допускает индивидуальный автоматизм! Реликтовый ледник, на первый взгляд, просветляет вектор! Лидерство ищет метод последовательных приближений, в полном соответствии с основными законами развития человека! \ No newline at end of file From 31a47e1933e9aa74cbe498a2c14406bc10f72024 Mon Sep 17 00:00:00 2001 From: AlexandraPoturaeva Date: Thu, 25 May 2023 18:25:44 +0300 Subject: [PATCH 4/5] removed .idea/ --- .idea/.gitignore | 3 --- .idea/inspectionProfiles/profiles_settings.xml | 6 ------ .idea/learn-homework-2.iml | 12 ------------ .idea/misc.xml | 4 ---- .idea/modules.xml | 8 -------- .idea/vcs.xml | 6 ------ 6 files changed, 39 deletions(-) delete mode 100644 .idea/.gitignore delete mode 100644 .idea/inspectionProfiles/profiles_settings.xml delete mode 100644 .idea/learn-homework-2.iml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 26d3352..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml deleted file mode 100644 index 105ce2d..0000000 --- a/.idea/inspectionProfiles/profiles_settings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/learn-homework-2.iml b/.idea/learn-homework-2.iml deleted file mode 100644 index 8b8c395..0000000 --- a/.idea/learn-homework-2.iml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index dc9ea49..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 0225a5a..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 94a25f7..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file From c2cc38c43d98bbe9038a6f6d83f5c1a23cf0817e Mon Sep 17 00:00:00 2001 From: AlexandraPoturaeva Date: Thu, 25 May 2023 22:20:06 +0300 Subject: [PATCH 5/5] ex.3 done --- 3_dict_to_csv.py | 28 +++++++++++++++++++++------- export.csv | 18 ++++++++++++++++++ names_and_jobs.py | 23 +++++++++++++++++++++++ 3 files changed, 62 insertions(+), 7 deletions(-) create mode 100644 export.csv create mode 100644 names_and_jobs.py diff --git a/3_dict_to_csv.py b/3_dict_to_csv.py index 44d6efb..f9c618e 100644 --- a/3_dict_to_csv.py +++ b/3_dict_to_csv.py @@ -9,13 +9,27 @@ 2. Запишите содержимое списка словарей в файл в формате csv """ +import csv + +from names_and_jobs import names, jobs +import random + +people = [ + { + 'name': random.choice(names), + 'age': random.randint(18, 55), + 'job': random.choice(jobs) + } for _ in range(random.randint(4, 20)) +] + + +def main(list_of_dicts): + with open('export.csv', 'w', encoding='utf-8', newline='') as f: + writer = csv.DictWriter(f, list(list_of_dicts[0].keys())) + writer.writeheader() + for elem in list_of_dicts: + writer.writerow(elem) -def main(): - """ - Эта функция вызывается автоматически при запуске скрипта в консоли - В ней надо заменить pass на ваш код - """ - pass if __name__ == "__main__": - main() + main(people) diff --git a/export.csv b/export.csv new file mode 100644 index 0000000..189cb9c --- /dev/null +++ b/export.csv @@ -0,0 +1,18 @@ +name,age,job +Эльмира,46,грузчик +Анжелика,19,водитель +Тимур,53,охранник +Леонид,41,уборщик +Артемий,28,повар +Мадина,28,машинист +Антонина,30,фасовщик +Одиссей,39,повар +Егор,55,уборщик +Елизавета,25,грузчик +Степан,31,кассир +Марк,49,водитель-экспедитор +Мелания,30,грузчик +Ильдар,38,охранник +Ева,29,водитель +Анжелика,52,машинист +Айдар,22,фасовщик diff --git a/names_and_jobs.py b/names_and_jobs.py new file mode 100644 index 0000000..cd882a8 --- /dev/null +++ b/names_and_jobs.py @@ -0,0 +1,23 @@ +names = ['Александр', 'Агата', 'Аделина', 'Адель', 'Айдар', 'Александра', 'Алексей', 'Алёна', 'Алина', 'Алиса', 'Алия', + 'Алла', 'Альберт', 'Альбина', 'Амалия', 'Амелия', 'Амина', 'Амир', 'Анастасия', 'Анатолий', 'Ангелина', + 'Андрей', 'Анжелика', 'Анна', 'Антон', 'Антонина', 'Ариана', 'Арина', 'Арсен', 'Арсений', 'Артём', 'Артемий', + 'Артур', 'Богдан', 'Борис', 'Вадим', 'Валентина', 'Валерий', 'Валерия', 'Варвара', 'Василий', 'Василина', + 'Василиса', 'Вера', 'Вероника', 'Виктор', 'Виктория', 'Виолетта', 'Виталий', 'Виталина', 'Влад', 'Влада', + 'Владимир', 'Владислав', 'Владислава', 'Всеволод', 'Вячеслав', 'Галина', 'Георгий', 'Герман', 'Глеб', 'Гордей', + 'Григорий', 'Давид', 'Дамир', 'Даниил', 'Данил', 'Данила', 'Даниэль', 'Дарина', 'Дарья', 'Демид', 'Денис', + 'Диана', 'Дмитрий', 'Ева', 'Евгений', 'Евгения', 'Егор', 'Екатерина', 'Елена', 'Елизавета', 'Елисей', 'Есения', + 'Жанна', 'Зарина', 'Захар', 'Злата', 'Иван', 'Игнат', 'Игорь', 'Ильдар', 'Илья', 'Инна', 'Ирина', 'Камилла', + 'Карина', 'Каролина', 'Кира', 'Кирилл', 'Константин', 'Кристина', 'Ксения', 'Лариса', 'Лев', 'Леонид', 'Лиана', + 'Лидия', 'Лилия', 'Любовь', 'Людмила', 'Мадина', 'Майя', 'Макар', 'Максим', 'Марат', 'Маргарита', 'Марина', + 'Мария', 'Марк', 'Марсель', 'Марьяна', 'Матвей', 'Мелания', 'Милана', 'Милена', 'Мирон', 'Мирослав', + 'Мирослава', 'Михаил', 'Надежда', 'Назар', 'Наталия', 'Наталья', 'Наташа', 'Нелли', 'Ника', 'Никита', + 'Николай', 'Нина', 'Одиссей', 'Оксана', 'Олег', 'Олеся', 'Ольга', 'Павел', 'Петр', 'Платон', 'Полина', + 'Радмир', 'Рамиль', 'Регина', 'Ринат', 'Роберт', 'Родион', 'Роман', 'Ростислав', 'Руслан', 'Рустам', 'Савва', + 'Савелий', 'Самир', 'Самира', 'Светлана', 'Святогор', 'Святослав', 'Семен', 'Сергей', 'Снежана', 'София', + 'Софья', 'Станислав', 'Степан', 'Стефания', 'Таисия', 'Тамара', 'Тамерлан', 'Татьяна', 'Тимофей', 'Тимур', + 'Тихон', 'Ульяна', 'Федор', 'Филипп', 'Эвелина', 'Эдуард', 'Элина', 'Эльвира', 'Эльмира', 'Эмилия', 'Эмиль', + 'Юлиана', 'Юлия', 'Юрий', 'Ян', 'Яна', 'Яромир', 'Ярослав', 'Ярослава', 'Ясмина', + ] + +jobs = ['водитель', 'водитель-экспедитор', 'менеджер по продажам', 'продавец', 'кассир', 'охранник', 'повар', + 'грузчик', 'комплектовщик', 'машинист', 'уборщик', 'фасовщик']