diff --git a/README.md b/README.md deleted file mode 100644 index 68abb7b..0000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -# GU_BigData_1795 \ No newline at end of file diff --git a/lesson6/ex1.2.py b/lesson6/ex1.2.py new file mode 100644 index 0000000..f286af3 --- /dev/null +++ b/lesson6/ex1.2.py @@ -0,0 +1,20 @@ +from itertools import cycle +import time + + +class TrafficLight: + + _color = ['Красный', 'Желтый', 'Зеленый'] + + def running(self): + for i in cycle(self._color): + print(self._color[0]) + time.sleep(7) + print(self._color[1]) + time.sleep(2) + print(self._color[2]) + time.sleep(7) + + +street = TrafficLight() +print(street.running()) diff --git a/lesson6/ex2.py b/lesson6/ex2.py new file mode 100644 index 0000000..950c412 --- /dev/null +++ b/lesson6/ex2.py @@ -0,0 +1,13 @@ +class Road: + + def __init__(self, length, width): + self.__length = length + self.__width = width + + def mass(self, one_layer_mass, layers): + mass = self.__length * self.__width * one_layer_mass * layers + return mass + + +asphalt = Road(20, 200000) +print(f'Масса асфальта: {asphalt.mass(25, 20) / 1000} тонн') diff --git a/lesson6/ex3.py b/lesson6/ex3.py new file mode 100644 index 0000000..16f8590 --- /dev/null +++ b/lesson6/ex3.py @@ -0,0 +1,30 @@ +class Worker: + + def __init__(self, name, surname, position, income={"wage": 1000000, "bonus": 1000000}): + self.name = name + self.surname = surname + self.position = position + self.__income = income + + """ + Достаю приватные оклад и бонус + """ + def get_wage(self): + return self.__income.get("wage") + + def get_bonus(self): + return self.__income.get("bonus") + + +class Position(Worker): + + def get_full_name(self): + print(self.name + ' ' + self.surname) + + def get_total_income(self): + return self.get_wage() + self.get_bonus() + + +worker = Position("Egor", "Ageev", "Teamlead") +worker.get_full_name() +print(worker.get_total_income()) diff --git a/lesson6/ex4.py b/lesson6/ex4.py new file mode 100644 index 0000000..7500ae6 --- /dev/null +++ b/lesson6/ex4.py @@ -0,0 +1,103 @@ +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(f'{self.name} едет') + + def stop(self): + print(f'{self.name} остановилась') + + def turn(self, direction): + print(f'{self.name} поворачивает на{direction}') + + def show_speed(self): + print(f'Текущая скорость: {self.speed}') + + +class TownCar(Car): + + def show_speed(self): + if 40 <= self.speed <= 60: + print(f'{self.name} движется по городу со скоростью {self.speed}') + elif self.speed > 60: + print(f'{self.name} превышает скоростной режим на {self.speed - 60} км/ч') + else: + print(f'{self.name} едет слишком медленно') + + +class SportCar(Car): + + def show_speed(self): + if 90 < self.speed < 120: + print('Отличная скорость') + elif self.speed > 120: + print('Малыш на драйве') + elif 60 < self.speed < 90: + print('Еду на трек') + else: + print('Паркуюсь') + + def tunning(self, max_speed): + if max_speed < 250: + print('Обратитесь к механику') + else: + print(f'У {self.name} Полный порядок') + + +class WorkCar(Car): + + def show_speed(self): + if self.speed > 40: + print('Сбавьте скорость') + elif 20 <= self.speed <= 40: + print('Придерживайтесь данной скорости') + else: + print(f'{self.name} паркуется') + + +class PoliceCar(Car): + + def call_centre(self): + print('Это полицейский автомобиль. Что у вас случилось?') + + def show_speed(self, police_speed): + if police_speed > 120 and self.speed > 120: + print(f'Догоняю нарушителя на {self.name}') + print(f'Цвет: {self.color}') + print(f'Скорость: {self.speed}') + elif police_speed > 120: + print('Меня угнали') + elif 90 < police_speed < 120: + print('Двигаюсь к месту') + elif 60 < police_speed < 90: + print('Патрулирую') + + +print('для TownCar') +car_1 = TownCar(121, "Silver", "Hyunday", False) +print(f'Марка: {car_1.name}') +car_1.show_speed() + +print('для SportCar') +car_2 = SportCar(180, "Red", "BMW", False) +print(f'Марка: {car_2.name}') +car_2.tunning(270) + +print('для WorkCar') +car_3 = WorkCar(19, "Black", "Mercedes", False) +print(f'Марка: {car_3.name}') +car_3.show_speed() + +print('для PoliceCar') +police = PoliceCar(180, "Black", "Audi", False) +police.call_centre() +police.show_speed(140) + +car0 = Car(180, "Red", "BMW", False) +car0.go() +car0.turn("право") diff --git a/lesson6/ex5.py b/lesson6/ex5.py new file mode 100644 index 0000000..5419471 --- /dev/null +++ b/lesson6/ex5.py @@ -0,0 +1,35 @@ +class Stationery: + + def __init__(self, title): + self.title = title + + def draw(self): + print('Запуск отрисовки') + + +class Pen(Stationery): + + def draw(self): + print(f'Запуск отрисовки {self.title}') + + +class Pencil(Stationery): + + def draw(self): + print(f'Запуск отрисовки {self.title}') + + +class Handle(Stationery): + + def draw(self): + print(f'Запуск отрисовки {self.title}') + + +pen = Pen("ручкой") +pen.draw() + +pencil = Pen("карандашом") +pencil.draw() + +handle = Pen("маркером") +handle.draw()