1. Lära sig
  2. /
  3. Courses
  4. /
  5. Python 중급 객체 지향 프로그래밍

Connected

exercise

StopIteration 오류 처리하기

이전 연습 문제의 Playlist 클래스가 현재 재생 중인 곡 제목을 출력하도록 업데이트되었습니다. 아래 코드를 참고하세요. 이 커스텀 이터레이터를 사용하여 StopIteration 예외를 깔끔하게 처리하는 연습을 해 보겠습니다. 즐겨 보세요!

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

Instruktioner

100 XP
  • songs 리스트의 제목들로 구성된 classic_rock_playlist라는 Playlist를 생성하되, 곡이 섞이도록 설정하세요.
  • while 루프 안에서 try-except 블록을 사용해 classic_rock_playlist의 다음 곡을 재생하세요.
  • StopIteration 오류를 처리하도록 try-except 로직을 수정하고, 메시지를 출력한 뒤 루프를 종료하세요.