횟수와 위치가 필요한 반복을 작성합니다.
range는 시작부터 끝 직전까지 정수 흐름을 만들며 큰 범위도 값을 한꺼번에 저장하지 않습니다. enumerate는 항목과 인덱스를 함께 제공하므로 직접 숫자 변수를 증가시키는 코드를 대신합니다.
enumerate에 start=1을 넘겼기 때문에 number는 0이 아니라 1부터 시작하고, 회차마다 번호와 강좌 이름이 짝으로 나와 number와 course에 나뉘어 들어갑니다. range(5, 0, -1)은 5에서 시작해 1씩 줄어들다 0에 닿기 전에 멈춥니다. print(range(5, 0, -1))만 쓰면 range(5, 0, -1)이라는 표현이 그대로 찍히기 때문에 list로 감싸 [5, 4, 3, 2, 1]을 펼쳐 보였습니다.
range의 stop은 포함되지 않습니다. 역순에서는 음수 step과 시작·끝 위치를 함께 확인해야 합니다.
화면에 표시할 번호는 1부터, 내부 인덱스는 0부터인 경우가 많으므로 enumerate의 start로 의도를 드러냅니다.
range(len(items))는 인덱스가 꼭 필요할 때만 사용하고 값만 필요하면 리스트를 직접 순회하세요.
직접 바꿔보세요강좌 번호를 1부터 출력하고 5부터 1까지 카운트다운하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.