Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions Урок 6. Практическое задание/task_1.py
Original file line number Diff line number Diff line change
Expand Up @@ -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()
18 changes: 18 additions & 0 deletions Урок 6. Практическое задание/task_2.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)





23 changes: 23 additions & 0 deletions Урок 6. Практическое задание/task_3.py
Original file line number Diff line number Diff line change
Expand Up @@ -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())

68 changes: 68 additions & 0 deletions Урок 6. Практическое задание/task_4.py
Original file line number Diff line number Diff line change
Expand Up @@ -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()
42 changes: 42 additions & 0 deletions Урок 6. Практическое задание/task_5.py
Original file line number Diff line number Diff line change
Expand Up @@ -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()