Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from band import Band
- from band_members.drummer import Drummer
- from band_members.guitarist import Guitarist
- from band_members.singer import Singer
- class ConcertTrackerApp:
- bands = []
- musicians = []
- concerts = []
- def create_musician(self, musician_type: str, name: str, age: int):
- musician_types = ["Guitarist", "Drummer", "Singer"]
- if musician_type not in musician_types:
- raise ValueError("Invalid musician type!")
- for musician in self.musicians:
- if musician.name == name:
- raise Exception(f"{name} is already a musician!")
- if musician_type == 'Guitarist':
- new_musician = Guitarist(name, age)
- self.musicians.append(new_musician)
- elif musician_type == 'Drummer':
- new_musician = Drummer(name, age)
- self.musicians.append(new_musician)
- elif musician_type == "Singer":
- new_musician = Singer(name, age)
- self.musicians.append(new_musician)
- return f"{name} is now a {musician_type}."
- def create_band(self, name: str):
- for band in self.bands:
- if band.name == name:
- raise Exception(f"{name} band is already created!")
- new_band = Band(name)
- self.bands.append(new_band)
- return f"{name} was created."
- def create_concert(self, genre: str, audience: int, ticket_price: float, expenses: float, place: str):
- pass
- def add_musician_to_band(self, musician_name: str, band_name: str):
- current_musicians = []
- current_bands = []
- for musician in self.musicians:
- current_musicians.append(musician.name)
- if musician_name not in current_musicians:
- raise Exception(f"{musician_name} isn't a musician!")
- for band in self.bands:
- current_bands.append(band.name)
- if band_name not in current_bands:
- raise Exception(f"{band_name} isn't a band!")
- for player in self.musicians:
- if player.name == musician_name:
- self.bands.append(player)
- return f"{musician_name} was added to {band_name}."
- def remove_musician_from_band(self, musician_name: str, band_name: str):
- pass
- def start_concert(self, concert_place: str, band_name: str):
- pass
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement