1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Intermediate Object-Oriented Programming in Python

Connected

Bài tập

Zpracování chyby StopIteration

Třída Playlist z předchozího cvičení byla upravena tak, aby vypisovala zprávu s názvem aktuálně přehrávané skladby, a je zobrazena níže. S pomocí tohoto vlastního iterátoru si procvičíš elegantní zachycení výjimky StopIteration. Příjemný poslech!

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

Hướng dẫn

100 XP
  • Vytvoř Playlist s názvem classic_rock_playlist ze skladeb v seznamu songs; nezapomeň nastavit náhodné přehrávání.
  • Pomocí bloku try-except uvnitř smyčky while přehraj další skladbu z classic_rock_playlist.
  • Doplň logiku try-except tak, aby zachytávala chybu StopIteration — vypis zprávu a ukonči smyčku pomocí break.