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/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() 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/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 = ['водитель', 'водитель-экспедитор', 'менеджер по продажам', 'продавец', 'кассир', 'охранник', 'повар', + 'грузчик', 'комплектовщик', 'машинист', 'уборщик', 'фасовщик'] 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