diff --git "a/\320\243\321\200\320\276\320\272 6. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_1.py" "b/\320\243\321\200\320\276\320\272 6. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_1.py" index fe168f5b1..6b6f2d4ab 100644 --- "a/\320\243\321\200\320\276\320\272 6. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_1.py" +++ "b/\320\243\321\200\320\276\320\272 6. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_1.py" @@ -15,3 +15,21 @@ Проверить работу примера, создав экземпляр и вызвав описанный метод. """ + + +from time import sleep +class TrafficLight: + __color = ["красный", "жёлтый", "зеленый"] + + def running(self): + for el in TrafficLight.__color: + print(el) + if el == "красный": + sleep(1) + elif el == "жёлтый": + sleep(2) + else: + sleep(1) + +sirius55 = TrafficLight() +sirius55.running() diff --git "a/\320\243\321\200\320\276\320\272 6. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_2.py" "b/\320\243\321\200\320\276\320\272 6. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_2.py" index 49715689f..3afd2de52 100644 --- "a/\320\243\321\200\320\276\320\272 6. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_2.py" +++ "b/\320\243\321\200\320\276\320\272 6. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_2.py" @@ -16,3 +16,21 @@ Например: 20м*5000м*25кг*0.05м = 125000 кг = 125 т """ + +class Road: + def __init__(self, _length, _width, thickness, asphalt_weight=25): + self._length = _length + self._width = _width + self._asohalt_weight = asphalt_weight + self.thickness = thickness + + print(f'Расход асфальта: на 1 квадратный метр при толщине слоя {thickness} см потребуется: ' + f'{_length * _width * asphalt_weight * thickness} кг') + + +e95 = Road(100, 10, 0.5) + + + + + diff --git "a/\320\243\321\200\320\276\320\272 6. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_3.py" "b/\320\243\321\200\320\276\320\272 6. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_3.py" index 8f2c7bddf..7e84c30c0 100644 --- "a/\320\243\321\200\320\276\320\272 6. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_3.py" +++ "b/\320\243\321\200\320\276\320\272 6. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_3.py" @@ -15,3 +15,26 @@ П.С. попытайтесь добить вывода информации о сотруднике также через перегрузку __str__ __str__(self) - вызывается функциями str, print и format. Возвращает строковое представление объекта. """ + + +class Worker: + + def __init__(self, name, surename, position, wage, bonus): + self.name = name + self.surename = surename + self.position = position + self._income = {"wage": wage, "bonus": bonus} + + +class Position(Worker): + def get_full_name(self): + return f'Сотрудник: {self.name} {self.surename}' + + def get_total_income(self): + return f'доход {self._income["wage"] + self._income["bonus"]}' + + +bob = Position("Александр", "Винипухов", "Повар", 10000, 500) +print(bob.get_full_name()) +print(bob.get_total_income()) + diff --git "a/\320\243\321\200\320\276\320\272 6. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_4.py" "b/\320\243\321\200\320\276\320\272 6. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_4.py" index 10a5aac15..5784c4495 100644 --- "a/\320\243\321\200\320\276\320\272 6. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_4.py" +++ "b/\320\243\321\200\320\276\320\272 6. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_4.py" @@ -20,3 +20,71 @@ Выполните доступ к атрибутам, выведите результат. Выполните вызов методов и также покажите результат. """ + + +class Car(): + def __init__(self, speed, color, name, is_police): + self.speed = speed + self.color = color + self.name = name + self.is_police = is_police + + def go(self): + print("Машина поехала") + + def show_speed(self): + print(f'скорость автомобиля - {self.speed}') + + def stop(self): + print("Машина остановилась") + + def turn(self, direction): + print(f'машина повернула на {direction}') + + +class TownCar(Car): + def show_speed(self): + if self.speed > 60: + print(f'скорость автомобиля {self.name} - {self.speed}. Скорость превышена!') + else: + print(f'скорость автомобиля {self.name} - {self.speed}.') + + +class WorkCar(Car): + def show_speed(self): + if self.speed > 40: + print(f'скорость автомобиля {self.name} - {self.speed}. Скорость превышена!') + else: + print(f'скорость автомобиля {self.name} - {self.speed}.') + + +class SportCar(Car): + def sport(self): + print(f"автомобиль {self.name} является спортивным.") + + +class PoliceCar(Car): + def police(self): + print(f"автомобиль {self.name} является полицейским.") + + +moskvich = TownCar(59, "зелёный", "Komby", False) +print(f'цвет автомобиля {moskvich.name} - {moskvich.color}.') +moskvich.go() +moskvich.show_speed() +moskvich.turn("север") +moskvich.stop() + +traktor = WorkCar(45, "Синий", "Катюша", False) +print(f'автомобиль {traktor.name} является полицейским авто - {traktor.is_police}') +print(f'цвет автомобиля {traktor.name} - {traktor.color}.') +traktor.go() +traktor.show_speed() +traktor.turn("юг") +traktor.stop() + +volga = PoliceCar(120, "белый", "Gaz 31", True) +volga.police() + +bmv = SportCar(180, "красный", "Бумер", False) +bmv.sport() diff --git "a/\320\243\321\200\320\276\320\272 6. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_5.py" "b/\320\243\321\200\320\276\320\272 6. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_5.py" index d01d57db2..e77d157fb 100644 --- "a/\320\243\321\200\320\276\320\272 6. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_5.py" +++ "b/\320\243\321\200\320\276\320\272 6. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_5.py" @@ -13,3 +13,45 @@ Для каждого из классов метод должен выводить уникальное сообщение. Создать экземпляры классов и проверить, что выведет описанный метод для каждого экземпляра. """ + + +class Stationery(): + def __init__(self, title): + self.title = title + + def draw(self): + print("Запуск отрисовки") + + +class Pen(Stationery): + def draw(self): + print("Запуск письма") + + +class Pencil(Stationery): + def draw(self): + print("Запуск чертежа") + + +class Handle(Stationery): + def draw(self): + print("Запуск маркирования") + + +notbook = Stationery("Тетрадь для великих идей") +print(notbook.title) +notbook.draw() + +quill = Pen("Перо для письма") +print(quill.title) +quill.draw() + +simp_pencil = Pencil("Карандаш с мягким стержнем") +print(simp_pencil.title) +simp_pencil.draw() + +alco_marker = Handle("Синий маркер на спирту") +print(alco_marker.title) +alco_marker.draw() + +