From e794f1333e0723694dd3171f6be664c51545faa0 Mon Sep 17 00:00:00 2001 From: vitalii Malcov Date: Mon, 4 Sep 2023 07:35:16 +0200 Subject: [PATCH] =?UTF-8?q?=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B8=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- {NHC => HNC}/Arrays/Dz27,06,2023.py | 0 {NHC => HNC}/Arrays/Find_Second _Max.py | 0 .../Excercises/22,08,2023/shapes.json | 0 .../Excercises/22,08,2023/ДЗ 22,08,2023.py | 0 .../Excercises/22,08,2023/ДЗ 22,08,2023_2.py | 0 {NHC => HNC}/Excercises/дз 11,07,2023,2.py | 0 {NHC => HNC}/Excercises/дз 25,07,2023.py | 0 {NHC => HNC}/Excercises/дз 27,06,2023,2.py | 0 {NHC => HNC}/Excercises/дз 27,06,2023,3.py | 0 {NHC => HNC}/Excercises/зд 27,06,2023.py | 0 {NHC => HNC}/Ladders/LaddersV1.py | 0 {NHC => HNC}/Ladders/LaddersV2.py | 0 {NHC => HNC}/Ladders/LaddersV3.py | 0 {NHC => HNC}/Ladders/LaddersV4.py | 0 {NHC => HNC}/Ladders/LaddersV5.py | 0 {NHC => HNC}/Ladders/Player.py | 0 {NHC => HNC}/Ladders/files.py | 0 {NHC => HNC}/Ladders/level1.txt | 0 {NHC => HNC}/Ladders/level2.txt | 0 {NHC => HNC}/Ladders/level3.txt | 0 {NHC => HNC}/Ladders/level4.txt | 0 {NHC => HNC}/Ladders/level5.txt | 0 {NHC => HNC}/Ladders/main.py | 0 {NHC => HNC}/Ladders/run.py | 0 HNS/27.08.2023/Circle.py | 13 ++++ HNS/27.08.2023/Rectangle.py | 13 ++++ HNS/27.08.2023/Square.py | 12 +++ HNS/27.08.2023/classes.py | 76 +++++++++++++++++++ HNS/27.08.2023/main.py | 17 +++++ HNS/27.08.2023/shapes.json | 20 +++++ NHS/Musor.txt | 0 31 files changed, 151 insertions(+) rename {NHC => HNC}/Arrays/Dz27,06,2023.py (100%) rename {NHC => HNC}/Arrays/Find_Second _Max.py (100%) rename {NHC => HNC}/Excercises/22,08,2023/shapes.json (100%) rename {NHC => HNC}/Excercises/22,08,2023/ДЗ 22,08,2023.py (100%) rename {NHC => HNC}/Excercises/22,08,2023/ДЗ 22,08,2023_2.py (100%) rename {NHC => HNC}/Excercises/дз 11,07,2023,2.py (100%) rename {NHC => HNC}/Excercises/дз 25,07,2023.py (100%) rename {NHC => HNC}/Excercises/дз 27,06,2023,2.py (100%) rename {NHC => HNC}/Excercises/дз 27,06,2023,3.py (100%) rename {NHC => HNC}/Excercises/зд 27,06,2023.py (100%) rename {NHC => HNC}/Ladders/LaddersV1.py (100%) rename {NHC => HNC}/Ladders/LaddersV2.py (100%) rename {NHC => HNC}/Ladders/LaddersV3.py (100%) rename {NHC => HNC}/Ladders/LaddersV4.py (100%) rename {NHC => HNC}/Ladders/LaddersV5.py (100%) rename {NHC => HNC}/Ladders/Player.py (100%) rename {NHC => HNC}/Ladders/files.py (100%) rename {NHC => HNC}/Ladders/level1.txt (100%) rename {NHC => HNC}/Ladders/level2.txt (100%) rename {NHC => HNC}/Ladders/level3.txt (100%) rename {NHC => HNC}/Ladders/level4.txt (100%) rename {NHC => HNC}/Ladders/level5.txt (100%) rename {NHC => HNC}/Ladders/main.py (100%) rename {NHC => HNC}/Ladders/run.py (100%) create mode 100644 HNS/27.08.2023/Circle.py create mode 100644 HNS/27.08.2023/Rectangle.py create mode 100644 HNS/27.08.2023/Square.py create mode 100644 HNS/27.08.2023/classes.py create mode 100644 HNS/27.08.2023/main.py create mode 100644 HNS/27.08.2023/shapes.json delete mode 100644 NHS/Musor.txt diff --git a/NHC/Arrays/Dz27,06,2023.py b/HNC/Arrays/Dz27,06,2023.py similarity index 100% rename from NHC/Arrays/Dz27,06,2023.py rename to HNC/Arrays/Dz27,06,2023.py diff --git a/NHC/Arrays/Find_Second _Max.py b/HNC/Arrays/Find_Second _Max.py similarity index 100% rename from NHC/Arrays/Find_Second _Max.py rename to HNC/Arrays/Find_Second _Max.py diff --git a/NHC/Excercises/22,08,2023/shapes.json b/HNC/Excercises/22,08,2023/shapes.json similarity index 100% rename from NHC/Excercises/22,08,2023/shapes.json rename to HNC/Excercises/22,08,2023/shapes.json diff --git a/NHC/Excercises/22,08,2023/ДЗ 22,08,2023.py b/HNC/Excercises/22,08,2023/ДЗ 22,08,2023.py similarity index 100% rename from NHC/Excercises/22,08,2023/ДЗ 22,08,2023.py rename to HNC/Excercises/22,08,2023/ДЗ 22,08,2023.py diff --git a/NHC/Excercises/22,08,2023/ДЗ 22,08,2023_2.py b/HNC/Excercises/22,08,2023/ДЗ 22,08,2023_2.py similarity index 100% rename from NHC/Excercises/22,08,2023/ДЗ 22,08,2023_2.py rename to HNC/Excercises/22,08,2023/ДЗ 22,08,2023_2.py diff --git a/NHC/Excercises/дз 11,07,2023,2.py b/HNC/Excercises/дз 11,07,2023,2.py similarity index 100% rename from NHC/Excercises/дз 11,07,2023,2.py rename to HNC/Excercises/дз 11,07,2023,2.py diff --git a/NHC/Excercises/дз 25,07,2023.py b/HNC/Excercises/дз 25,07,2023.py similarity index 100% rename from NHC/Excercises/дз 25,07,2023.py rename to HNC/Excercises/дз 25,07,2023.py diff --git a/NHC/Excercises/дз 27,06,2023,2.py b/HNC/Excercises/дз 27,06,2023,2.py similarity index 100% rename from NHC/Excercises/дз 27,06,2023,2.py rename to HNC/Excercises/дз 27,06,2023,2.py diff --git a/NHC/Excercises/дз 27,06,2023,3.py b/HNC/Excercises/дз 27,06,2023,3.py similarity index 100% rename from NHC/Excercises/дз 27,06,2023,3.py rename to HNC/Excercises/дз 27,06,2023,3.py diff --git a/NHC/Excercises/зд 27,06,2023.py b/HNC/Excercises/зд 27,06,2023.py similarity index 100% rename from NHC/Excercises/зд 27,06,2023.py rename to HNC/Excercises/зд 27,06,2023.py diff --git a/NHC/Ladders/LaddersV1.py b/HNC/Ladders/LaddersV1.py similarity index 100% rename from NHC/Ladders/LaddersV1.py rename to HNC/Ladders/LaddersV1.py diff --git a/NHC/Ladders/LaddersV2.py b/HNC/Ladders/LaddersV2.py similarity index 100% rename from NHC/Ladders/LaddersV2.py rename to HNC/Ladders/LaddersV2.py diff --git a/NHC/Ladders/LaddersV3.py b/HNC/Ladders/LaddersV3.py similarity index 100% rename from NHC/Ladders/LaddersV3.py rename to HNC/Ladders/LaddersV3.py diff --git a/NHC/Ladders/LaddersV4.py b/HNC/Ladders/LaddersV4.py similarity index 100% rename from NHC/Ladders/LaddersV4.py rename to HNC/Ladders/LaddersV4.py diff --git a/NHC/Ladders/LaddersV5.py b/HNC/Ladders/LaddersV5.py similarity index 100% rename from NHC/Ladders/LaddersV5.py rename to HNC/Ladders/LaddersV5.py diff --git a/NHC/Ladders/Player.py b/HNC/Ladders/Player.py similarity index 100% rename from NHC/Ladders/Player.py rename to HNC/Ladders/Player.py diff --git a/NHC/Ladders/files.py b/HNC/Ladders/files.py similarity index 100% rename from NHC/Ladders/files.py rename to HNC/Ladders/files.py diff --git a/NHC/Ladders/level1.txt b/HNC/Ladders/level1.txt similarity index 100% rename from NHC/Ladders/level1.txt rename to HNC/Ladders/level1.txt diff --git a/NHC/Ladders/level2.txt b/HNC/Ladders/level2.txt similarity index 100% rename from NHC/Ladders/level2.txt rename to HNC/Ladders/level2.txt diff --git a/NHC/Ladders/level3.txt b/HNC/Ladders/level3.txt similarity index 100% rename from NHC/Ladders/level3.txt rename to HNC/Ladders/level3.txt diff --git a/NHC/Ladders/level4.txt b/HNC/Ladders/level4.txt similarity index 100% rename from NHC/Ladders/level4.txt rename to HNC/Ladders/level4.txt diff --git a/NHC/Ladders/level5.txt b/HNC/Ladders/level5.txt similarity index 100% rename from NHC/Ladders/level5.txt rename to HNC/Ladders/level5.txt diff --git a/NHC/Ladders/main.py b/HNC/Ladders/main.py similarity index 100% rename from NHC/Ladders/main.py rename to HNC/Ladders/main.py diff --git a/NHC/Ladders/run.py b/HNC/Ladders/run.py similarity index 100% rename from NHC/Ladders/run.py rename to HNC/Ladders/run.py diff --git a/HNS/27.08.2023/Circle.py b/HNS/27.08.2023/Circle.py new file mode 100644 index 0000000..ae07f1b --- /dev/null +++ b/HNS/27.08.2023/Circle.py @@ -0,0 +1,13 @@ +import math +import Shape + + +class Circle(Shape): + def __init__(self, rad): + self.radius = rad + + def perimeter(self): + return 2 * math.pi * self.radius + + def area(self): + return math.pi + (self.radius ** 2) diff --git a/HNS/27.08.2023/Rectangle.py b/HNS/27.08.2023/Rectangle.py new file mode 100644 index 0000000..5216d54 --- /dev/null +++ b/HNS/27.08.2023/Rectangle.py @@ -0,0 +1,13 @@ +import Shape + + +class Rectangle(Shape): + def __init__(self, w, h): + self.w = w + self.h = h + + def perimeter(self): + return 2 * (self.w + self.h) + + def area(self): + return self.w * self.h diff --git a/HNS/27.08.2023/Square.py b/HNS/27.08.2023/Square.py new file mode 100644 index 0000000..da2cdb9 --- /dev/null +++ b/HNS/27.08.2023/Square.py @@ -0,0 +1,12 @@ +import Shape + + +class Square(Shape): + def __init__(self, a): + self.a = a + + def perimeter(self): + return 4 * self.a + + def area(self): + return self.a * 2 diff --git a/HNS/27.08.2023/classes.py b/HNS/27.08.2023/classes.py new file mode 100644 index 0000000..22bf5f9 --- /dev/null +++ b/HNS/27.08.2023/classes.py @@ -0,0 +1,76 @@ +import math +from abc import abstractmethod +from abc import ABC + + +class Shape(ABC): + color = '' + + @abstractmethod + def area(self): + pass + + @abstractmethod + def perimeter(self): + pass + + @staticmethod + def create_from_json(json): + if 'type' in json: + shape_type = json['type'] + + if shape_type == 'rectangle': + return Rectangle(json['width', 'height']) + + elif shape_type == 'square': + return Square(json['side']) + + elif shape_type == 'circle': + return Circle(json('radius')) + + else: + raise TypeError(f'вот тебе >>>(оIo), а не фигура {shape_type}') + + @staticmethod + def covert_to_pro(obj): + if isinstance(obj, Shape): + result = obj.__dict__ + result['className'] = obj.__class__.__name__ + return result + + class Rectangle(Shape): + def __init__(self, w, h): + self.w = w + self.h = h + + def perimeter(self): + return 2 * (self.w + self.h) + + def area(self): + return self.w * self.h + + class Square(Shape): + def __init__(self, a): + self.a = a + + def perimeter(self): + return 4 * self.a + + def area(self): + return self.a * 2 + + class Circle(Shape): + def __init__(self, rad): + self.radius = rad + + def perimeter(self): + return 2 * math.pi * self.radius + + def area(self): + return math.pi + (self.radius ** 2) + + +def json_to_python(): + with open('shapes.json') as shapes: + data = json.loads(shapes) + return data diff --git a/HNS/27.08.2023/main.py b/HNS/27.08.2023/main.py new file mode 100644 index 0000000..c282fdc --- /dev/null +++ b/HNS/27.08.2023/main.py @@ -0,0 +1,17 @@ +import json +from classes import Shapes + + +def json_to_python(): + with open('shapes.json') as shapes: + data = json.load(shapes) + return data + + +obj = json_to_python() + +for shape in obj['shapes']: + sh1 = Shape.create_shape(shape) + + print(sh1.perimeter()) + print(sh1.area()) diff --git a/HNS/27.08.2023/shapes.json b/HNS/27.08.2023/shapes.json new file mode 100644 index 0000000..7661371 --- /dev/null +++ b/HNS/27.08.2023/shapes.json @@ -0,0 +1,20 @@ +{ + "shapes": [ + { + "type": "rectangle", + "width": 5, + "height": 10, + "color": "red" + }, + { + "type": "circle", + "radius": 7, + "color": "blue" + }, + { + "type": "square", + "side": 4, + "color": "green" + } + ] +} \ No newline at end of file diff --git a/NHS/Musor.txt b/NHS/Musor.txt deleted file mode 100644 index e69de29..0000000