Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #// BEGIN_TODO [team] University Teams (1 point)
- from copy import deepcopy
- class Team:
- def __init__(self, name_id = '', team =[], budget = 0) -> None:
- self.name_id = name_id
- self.team = team
- self.budget = budget
- def add_member(self, member) -> None:
- if member not in self.team:
- self.team = self.team.append(member)
- if isinstance(member, Student):
- budget -= 2880
- if isinstance(member, Teacher):
- budget -= 7200
- if isinstance(member, Researcher):
- budget -= 7200
- def remove_member(self, member) -> None:
- if member in self.team:
- self.team.delete(member)
- if isinstance(member, Student):
- budget += 2880
- if isinstance(member, Teacher):
- budget += 7200
- if isinstance(member, Researcher):
- budget += 7200
- def spend_budget(self, amount: int) -> bool:
- if self.budget >= amount:
- self.budget -= amount
- return True
- else:
- return False
- def __str__(self) -> str:
- sorted_list = deepcopy(self.team)
- sorted_list.sort()
- for name in sorted_list:
- return "{}, ".format(sorted_list[name])
- class ResearchTeam(Team):
- def __repr__(self) -> None:
- return self.name
- def create_product(self) -> bool:
- if self.budget - (20000 * len(self.team)) >= 0:
- self.budget -= (20000 * len(self.team))
- return True
- else:
- return False
- class CourseTeam(Team):
- def __repr__(self) -> None:
- return self.name
- def __init__(self, name_id = '', team = [], budget = 0, lead_teacher = '') -> None:
- Team.__init__(name_id, team, budget)
- if isinstance(lead_teacher, Teacher):
- pass
- else:
- raise TypeError("Lead teacher should be an instance of the Teacher class")
- #// END_TODO [team]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement