-
Notifications
You must be signed in to change notification settings - Fork 72
Expand file tree
/
Copy pathLess_5.py
More file actions
41 lines (30 loc) · 1.44 KB
/
Copy pathLess_5.py
File metadata and controls
41 lines (30 loc) · 1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 5. Продолжить работу над первым заданием. Разработать методы, отвечающие за приём оргтехники
# на склад и передачу в определенное подразделение компании. Для хранения данных
# о наименовании и количестве единиц оргтехники, а также других данных, можно использовать
# любую подходящую структуру (например словарь).
class Sklad:
def __init__(self):
self._dict = {}
def add_to(self, equipment):
self._dict.setdefault(equipment.group_name(), []).append(equipment)
def extract(self, name):
if self._dict[name]:
self._dict.setdefault(name).pop(0)
class Equipment:
def __init__(self, name, make, year):
self.name = name
self.make = make
self.year = year
self.group = self.__class__.__name__
def group_name(self):
return f'{self.group}'
def __repr__(self):
return f'{self.name} {self.make} {self.year}'
class Printer(Equipment):
def __init__(self, series, name, make, year):
super().__init__(name, make, year)
self.series = series
def __repr__(self):
return f'{self.name} {self.series} {self.make} {self.year}'
def action(self):
return 'Печатает'