From cbb2f67a4298b6c5d8140753639bbb1df23f0ca5 Mon Sep 17 00:00:00 2001 From: Ibryanova Date: Mon, 24 Oct 2022 01:03:08 +0300 Subject: [PATCH 1/2] text lec 9-10 --- .../VA_ibryanova/home_lec10_task2.py | 10 +++ .../VA_ibryanova/home_lec10_task_1.py | 4 ++ .../Ibryanova/VA_ibryanova/home_lec9_task4.py | 35 +++++++++ .../VA_ibryanova/home_lec9_task_1.py | 8 +++ .../VA_ibryanova/home_lec9_task_2.py | 14 ++++ Practice/Ibryanova/VA_ibryanova/pep8task2.py | 72 +++++++++++++++++++ 6 files changed, 143 insertions(+) create mode 100644 Practice/Ibryanova/VA_ibryanova/home_lec10_task2.py create mode 100644 Practice/Ibryanova/VA_ibryanova/home_lec10_task_1.py create mode 100644 Practice/Ibryanova/VA_ibryanova/home_lec9_task4.py create mode 100644 Practice/Ibryanova/VA_ibryanova/home_lec9_task_1.py create mode 100644 Practice/Ibryanova/VA_ibryanova/home_lec9_task_2.py create mode 100644 Practice/Ibryanova/VA_ibryanova/pep8task2.py diff --git a/Practice/Ibryanova/VA_ibryanova/home_lec10_task2.py b/Practice/Ibryanova/VA_ibryanova/home_lec10_task2.py new file mode 100644 index 0000000..380ec5e --- /dev/null +++ b/Practice/Ibryanova/VA_ibryanova/home_lec10_task2.py @@ -0,0 +1,10 @@ +while True: + match input("Введите Ваш вопрос: "): + case "Привет!": + print("Привет!") + case "Как дела?": + print("Хорошо") + case "Какая сегодня погода?": + print("Холод. Осень") + case _: + print("Вопрос некорректен, попробуйте сформулировать его по-другому") \ No newline at end of file diff --git a/Practice/Ibryanova/VA_ibryanova/home_lec10_task_1.py b/Practice/Ibryanova/VA_ibryanova/home_lec10_task_1.py new file mode 100644 index 0000000..7eb94d6 --- /dev/null +++ b/Practice/Ibryanova/VA_ibryanova/home_lec10_task_1.py @@ -0,0 +1,4 @@ +lst = ["10", "5", "a", "3", "b"] +new_lst = [x*x for i in lst if i.isdecimal() and (x := int(i)) * 2] + +print(new_lst) \ No newline at end of file diff --git a/Practice/Ibryanova/VA_ibryanova/home_lec9_task4.py b/Practice/Ibryanova/VA_ibryanova/home_lec9_task4.py new file mode 100644 index 0000000..5380904 --- /dev/null +++ b/Practice/Ibryanova/VA_ibryanova/home_lec9_task4.py @@ -0,0 +1,35 @@ +import random +import pickle + + +class Human: + + def __init__(self, name, surname, age, place): + self._name = name + self._surname = surname + self._age = age + self._place = place + + +def generator_name(s): + lst = [] + name = ("Иван", "Антон", "Олег", "Дмитрий", "Сергей") + surname = ("Иванов", "Антонов", "Дмитров", "Петров", "Егоров") + place = ("Москва", "Питер", "Севастополь", "Калининград", "Выборг") + for i in range(s): + h = Human(random.choice(name), + random.choice(surname), + random.randint(20, 50), + random.choice(place)) + lst.append(h) + with open("human.data", "wb") as f: + pickle.dump(lst, f) + + +def human_deser(): + with open("human.data", "rb") as f: + return pickle.load(f) + + +generator_name(4) +print(human_deser()) \ No newline at end of file diff --git a/Practice/Ibryanova/VA_ibryanova/home_lec9_task_1.py b/Practice/Ibryanova/VA_ibryanova/home_lec9_task_1.py new file mode 100644 index 0000000..7449f2f --- /dev/null +++ b/Practice/Ibryanova/VA_ibryanova/home_lec9_task_1.py @@ -0,0 +1,8 @@ +import re + + +with open(r'../../README.md') as f: + pattern = re.compile(r"git [a-z]+\w\b") + for line in f: + res = re.findall(pattern, line) + print(res) \ No newline at end of file diff --git a/Practice/Ibryanova/VA_ibryanova/home_lec9_task_2.py b/Practice/Ibryanova/VA_ibryanova/home_lec9_task_2.py new file mode 100644 index 0000000..ff26edd --- /dev/null +++ b/Practice/Ibryanova/VA_ibryanova/home_lec9_task_2.py @@ -0,0 +1,14 @@ +import datetime as dt + + +def work_days(date1, date2): + date_s = dt.datetime.strptime(date1, '%d.%m.%Y') + date_e = dt.datetime.strptime(date2, '%d.%m.%Y') + count = 0 + while date_s < date_e: + if date_s.isoweekday() < 6: + count += 1 + date_s += dt.timedelta(days=1) + return count + +print(work_days('01.10.2022', '20.10.2022')) \ No newline at end of file diff --git a/Practice/Ibryanova/VA_ibryanova/pep8task2.py b/Practice/Ibryanova/VA_ibryanova/pep8task2.py new file mode 100644 index 0000000..e97be5c --- /dev/null +++ b/Practice/Ibryanova/VA_ibryanova/pep8task2.py @@ -0,0 +1,72 @@ +import sys +import os +import hashlib +import ast +import argparse +from time import *# не корректно записано, должно быть import datetime as dt + + +class shuffler:# класс с загл буквы + + def __init__(self): + self.map = {} #не указан аргумент + + def rename(self, dirname, output): + mp3s = [] + + for root, directories, files in os.walk(dirname): + for file in files: + if file[-3:] == '.mp3': + mp3s.append([root, file]) + for path, mp3 in mp3s: + hashname = self.generateName() + '.mp3' + self.map[hashname] = mp3 + os.rename(path + '/' + mp3), path + '/' + hashname))# лишняя закрыв скобка у mp3 и hashname + f = open(output, 'r')#файл нужно откр и на запись если f.write(str(self.map)) + f.write(str(self.map))# не закрыли файл + + def restore(self, dirname, restore_path): + with open(filename, '+') as f:#файл откр на чтение и запись, но его только читают + self.map = ast.literal_eval(f.read())#нет связи между f и self.map + mp3s = [] + + for root, directories, files in os.walk(dirname): + for file in files: + if file[-3:] == '.mp3': + mp3s.append({root, file}) + for path, hashname in mp3s: + os.rename(path + '/' + hashname, path + '/' + self.map[hashname]))#лишняя закрыв скобка + os.remove(restore_path) + + def generateName(self, seed=time()): + return hashlib.md5(str(seed)).hexdigest() + + +def parse_arguments(): + parser = argparse.ArgumentParser() + subparsers = parser.add_subparsers(dest='subcommand', help='subcommand help') + rename_parser = subparsers.add_parser('rename', help='rename help') + rename_parser.add_argument('dirname') + rename_parser.add_argument('-o', '--output', help='path to a file where restore map is stored') + restore_parser = subparsers.add_parser('restore', help="command_a help") + restore_parser.add_argument('dirname') + restore_parser.add_argument('restore_map') + args = parser.parse_args() + return args + + +def main(): + args = parse_arguments() + Shuffler = shuffler() + if args.subcommand == 'rename': + if args.output: + Shuffler.rename(args.dirname, 'restore.info') + else: + Shuffler.rename(args.dirname, args.output) + elif args.subcommand == 'restore': + Shuffler.restore(args.dirname, args.restore_map) + else: + sys.exit() + + +main() \ No newline at end of file From 49c796f99b9c54b97ba02bb0d016afb7d9a688be Mon Sep 17 00:00:00 2001 From: Ibryanova Date: Wed, 26 Oct 2022 06:06:49 +0300 Subject: [PATCH 2/2] text lec 12 --- .../VA_ibryanova/home_lec12_task1.1.py | 36 +++++++++++++++++++ .../VA_ibryanova/home_lec12_task1.py | 12 +++++++ .../VA_ibryanova/hpme_lec12_task3.py | 11 ++++++ 3 files changed, 59 insertions(+) create mode 100644 Practice/Ibryanova/VA_ibryanova/home_lec12_task1.1.py create mode 100644 Practice/Ibryanova/VA_ibryanova/home_lec12_task1.py create mode 100644 Practice/Ibryanova/VA_ibryanova/hpme_lec12_task3.py diff --git a/Practice/Ibryanova/VA_ibryanova/home_lec12_task1.1.py b/Practice/Ibryanova/VA_ibryanova/home_lec12_task1.1.py new file mode 100644 index 0000000..9ea3432 --- /dev/null +++ b/Practice/Ibryanova/VA_ibryanova/home_lec12_task1.1.py @@ -0,0 +1,36 @@ +import socket + + +server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +host = '127.0.0.1' +port = 147 +cip = { + 'q': 'й', + 'w': 'ц', + 'e': 'у', + 'r': 'к', + 't': 'е', + 'y': 'н', +} + +server.bind((host, port)) +server.listen(5) + +while True: + conn, addr = server.accept() + s = conn.recv(2024).decode() + print(f'Получено "{"".join(s)}" от клиента {addr}.') + + res = [] + key = {v: k for k, v in cip.items()} + for i in s: + try: + res.append(key[i]) + except KeyError: + print('ошибка') + + + conn.send((''.join(res)).encode()) + print('Успешно') + conn.close() +server.close() \ No newline at end of file diff --git a/Practice/Ibryanova/VA_ibryanova/home_lec12_task1.py b/Practice/Ibryanova/VA_ibryanova/home_lec12_task1.py new file mode 100644 index 0000000..579db9e --- /dev/null +++ b/Practice/Ibryanova/VA_ibryanova/home_lec12_task1.py @@ -0,0 +1,12 @@ +import socket + + +host = '127.0.0.1.' +port = 147 + +client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +client.connect((host, port)) +client.send('qwerty'.encode()) +print(f'Получено сообщение: {client.recv(1024).decode()}') + +client.close() \ No newline at end of file diff --git a/Practice/Ibryanova/VA_ibryanova/hpme_lec12_task3.py b/Practice/Ibryanova/VA_ibryanova/hpme_lec12_task3.py new file mode 100644 index 0000000..38399da --- /dev/null +++ b/Practice/Ibryanova/VA_ibryanova/hpme_lec12_task3.py @@ -0,0 +1,11 @@ +from urllib import request +import re + + +req = request.Request('http://google.com') +response = request.urlopen(req) +web_page = response.read().decode() + +s = re.compile(r'https[\/\:a-zA-Z\.\d\?\=]+[^\":]') +res = re.findall(s, web_page) +print(res) \ No newline at end of file