class Album: def __init__(self, name, *songs): self.name = name self.songs = list(songs) self.published = False def add_song(self, song): if song.single: return f"Cannot add {song.name}. It's a single" if self.published: return "Cannot add songs. Album is published." if song in self.songs: return f"Song is already in the album." self.songs.append(song) return f"Song {song.name} has been added to the album {self.name}." def remove_song(self, song_name): if self.published: return f"Cannot remove songs. Album is published." for song in self.songs: if song.name = song_name: self.songs.remove(song) return f"Removed song {song.name} from album {self.name}." return f"Song is not in the album." def publish(self): if self.published: return f"Album {self.name} is already published." self.published = True return f"Album {self.name} has been published." def details(self): result += f"Album {self.name}\n" for song in self.songs: result += f'== {song.get_info()}\n' return result.strip()