1. Nauka
  2. /
  3. Kursy
  4. /
  5. Programowanie obiektowe w Pythonie – poziom średnio zaawansowany

Connected

ćwiczenie

Obsługa błędu StopIteration

Klasa Playlist z poprzedniego ćwiczenia została zaktualizowana – teraz wyświetla komunikat z nazwą aktualnie odtwarzanego utworu. Poniżej znajdziesz jej kod. Korzystając z tego niestandardowego iteratora, przećwiczysz poprawną obsługę wyjątku StopIteration. Miłej zabawy!

class Playlist:
  def __init__(self, songs, shuffle=False):
    self.songs = songs
    self.index = 0

    if shuffle:
      random.shuffle(self.songs)

  def __iter__(self):
    return self

  def __next__(self):
    if self.index >= len(self.songs):
      raise StopIteration

    print(f"Playing {self.songs[self.index]}")
    self.index += 1

Instrukcje

100 XP
  • Utwórz obiekt Playlist o nazwie classic_rock_playlist, korzystając z tytułów zawartych na liście songs. Pamiętaj, aby włączyć losowe odtwarzanie w classic_rock_playlist.
  • Używając bloku try-except wewnątrz pętli while, odtwórz kolejny utwór z classic_rock_playlist.
  • Uzupełnij logikę bloku try-except o obsługę błędu StopIteration – wyświetl odpowiedni komunikat i przerwij pętlę.