From 2fefb593acde871025a669f8ab19109f784c1c9e Mon Sep 17 00:00:00 2001 From: Ivan8R Date: Sun, 30 May 2021 20:04:58 +0300 Subject: [PATCH] all home work done --- 1_date_and_time.py | 20 +++- 2_files.py | 41 ++++++- 3_dict_to_csv.py | 28 ++++- example.csv | 101 +++++++++++++++++ referat1.txt | 274 +++++++++++++++++++++++++++++++++++++++++++++ referat2.txt | 274 +++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 734 insertions(+), 4 deletions(-) create mode 100644 example.csv create mode 100644 referat1.txt create mode 100644 referat2.txt diff --git a/1_date_and_time.py b/1_date_and_time.py index e72d76a..2c31790 100644 --- a/1_date_and_time.py +++ b/1_date_and_time.py @@ -7,21 +7,37 @@ 2. Превратите строку "01/01/20 12:10:03.234567" в объект datetime """ +import datetime +from datetime import date def print_days(): """ Эта функция вызывается автоматически при запуске скрипта в консоли В ней надо заменить pass на ваш код """ - pass + + today = date.today() + + yesterday = today - datetime.timedelta(days=1) + yesterday_formated = yesterday.strftime("%B %d, %Y") + print(yesterday_formated) + + today_formated = today.strftime("%B %d, %Y") + print(today_formated) + + days_before = today - datetime.timedelta(days=30) + days_before_formated = days_before.strftime("%B %d, %Y") + print(days_before_formated) def str_2_datetime(date_string): + from datetime import datetime """ Эта функция вызывается автоматически при запуске скрипта в консоли В ней надо заменить pass на ваш код """ - pass + date_dt1 = datetime.strptime(date_string, '%d/%m/%y %H:%M:%S.%f') + return date_dt1 if __name__ == "__main__": print_days() diff --git a/2_files.py b/2_files.py index 5072b13..8cac116 100644 --- a/2_files.py +++ b/2_files.py @@ -11,12 +11,51 @@ 5. Сохраните результат в файл referat2.txt """ +import requests +import re +from html.parser import HTMLParser + +class MLStripper(HTMLParser): + """ + Class for stripping Html Tags + """ + def __init__(self): + self.reset() + self.strict = False + self.convert_charrefs= True + self.fed = [] + + #this function takes html string as input and put data in + def handle_data(self, d): + self.fed.append(d) + + def get_data(self): + return ''.join(self.fed) + + +def strip_tags(html): + s = MLStripper() + s.feed(html) + return s.get_data() + def main(): """ Эта функция вызывается автоматически при запуске скрипта в консоли В ней надо заменить pass на ваш код """ - pass + url = 'https://www.dropbox.com/s/sipsmqpw1gwzd37/referat.txt?dl=0' + r = requests.get(url, allow_redirects=True) + open('referat1.txt', 'wb').write(r.content) + with open('referat1.txt','r') as f: + output = f.read() + print('Lenght of the string is {0}'.format(len(output))) + word_string = strip_tags(output) + words = re.findall(r'\w+', word_string) + print('Count of words {0}'.format(len(words))) + with open("referat2.txt", "w") as text_file: + text_file.write(output.replace('.','!')) + print("Done!") + if __name__ == "__main__": main() diff --git a/3_dict_to_csv.py b/3_dict_to_csv.py index 44d6efb..1ffa872 100644 --- a/3_dict_to_csv.py +++ b/3_dict_to_csv.py @@ -10,12 +10,38 @@ """ +import random +import csv + +def _generate_list(amount:int, names: list, jobs:list) -> list: + finall_list = [] + for i in range(int(amount)): + name = random.choice(names) + age = random.randint(18, 55) + job = random.choice(jobs) + finall_list.append({"name":name, "age":age, "job":job}) + return finall_list + + def main(): """ Эта функция вызывается автоматически при запуске скрипта в консоли В ней надо заменить pass на ваш код """ - pass + names=["Валера","Олег", "Сергей", "Игорь", "Александр", "Йован", "Валентин", "Артем"] + jobs = ["Программист","Стомтатолог", "Архитектор", "Дизайнер", "Фотограф", "Бухгалтер", "Инженер","Летчик"] + + generated_list = _generate_list(100, names, jobs) + + csv_file = "example.csv" + try: + with open(csv_file, 'w') as csvfile: + writer = csv.DictWriter(csvfile, fieldnames=["name","age","job"]) + writer.writeheader() + for data in generated_list: + writer.writerow(data) + except IOError: + print("I/O error") if __name__ == "__main__": main() diff --git a/example.csv b/example.csv new file mode 100644 index 0000000..f79cbe8 --- /dev/null +++ b/example.csv @@ -0,0 +1,101 @@ +name,age,job +Сергей,38,Стомтатолог +Александр,45,Фотограф +Олег,54,Дизайнер +Валера,23,Дизайнер +Валентин,32,Стомтатолог +Олег,35,Инженер +Игорь,48,Бухгалтер +Александр,32,Фотограф +Артем,49,Архитектор +Валентин,20,Фотограф +Александр,23,Летчик +Йован,33,Инженер +Игорь,20,Бухгалтер +Валентин,18,Бухгалтер +Олег,30,Архитектор +Артем,39,Бухгалтер +Валера,21,Летчик +Йован,24,Инженер +Александр,28,Дизайнер +Артем,32,Бухгалтер +Игорь,32,Летчик +Артем,47,Бухгалтер +Йован,29,Инженер +Валентин,35,Бухгалтер +Игорь,39,Инженер +Олег,44,Дизайнер +Валентин,39,Дизайнер +Александр,35,Архитектор +Сергей,51,Инженер +Александр,51,Бухгалтер +Александр,23,Дизайнер +Йован,44,Стомтатолог +Олег,21,Программист +Александр,35,Архитектор +Сергей,31,Летчик +Олег,34,Дизайнер +Олег,45,Архитектор +Йован,23,Бухгалтер +Артем,20,Программист +Александр,53,Архитектор +Игорь,55,Дизайнер +Александр,18,Инженер +Игорь,55,Бухгалтер +Игорь,37,Программист +Йован,33,Инженер +Йован,28,Летчик +Игорь,18,Программист +Сергей,47,Стомтатолог +Сергей,44,Летчик +Артем,20,Летчик +Йован,34,Стомтатолог +Йован,29,Фотограф +Игорь,31,Программист +Александр,45,Стомтатолог +Сергей,28,Бухгалтер +Игорь,30,Стомтатолог +Олег,39,Архитектор +Йован,25,Инженер +Артем,32,Архитектор +Йован,50,Бухгалтер +Артем,25,Бухгалтер +Александр,31,Фотограф +Йован,53,Дизайнер +Александр,39,Инженер +Олег,29,Дизайнер +Олег,40,Летчик +Сергей,22,Фотограф +Йован,30,Архитектор +Сергей,55,Стомтатолог +Артем,50,Инженер +Валентин,22,Бухгалтер +Сергей,26,Дизайнер +Йован,25,Дизайнер +Олег,18,Инженер +Артем,55,Дизайнер +Олег,28,Фотограф +Валера,27,Инженер +Йован,41,Дизайнер +Валера,32,Программист +Александр,46,Стомтатолог +Игорь,35,Летчик +Олег,46,Стомтатолог +Валентин,31,Инженер +Игорь,29,Архитектор +Сергей,38,Летчик +Артем,23,Инженер +Артем,53,Фотограф +Игорь,33,Программист +Валентин,42,Дизайнер +Игорь,50,Архитектор +Йован,44,Фотограф +Йован,54,Дизайнер +Артем,29,Инженер +Валентин,42,Инженер +Олег,42,Архитектор +Олег,31,Дизайнер +Александр,35,Архитектор +Олег,38,Программист +Артем,49,Бухгалтер +Сергей,33,Дизайнер diff --git a/referat1.txt b/referat1.txt new file mode 100644 index 0000000..f301e61 --- /dev/null +++ b/referat1.txt @@ -0,0 +1,274 @@ +Dropbox - referat.txt - Simplify your life
\ No newline at end of file diff --git a/referat2.txt b/referat2.txt new file mode 100644 index 0000000..e15303c --- /dev/null +++ b/referat2.txt @@ -0,0 +1,274 @@ +Dropbox - referat!txt - Simplify your life
\ No newline at end of file