and 연산은 앞에서부터 조건을 확인하고, 처음 false를 만나면 그 이후의 조건은 확인하지 않고 종료합니다.
if index < l and time == info[index][0] :
위의 경우에는 index < l 일 때만 info[index][0]에 접근하고, index >= l일 때는 접근하지 않고 종료합니다.
하지만 if time == info[index][0] and index < l 의 경우에는 index 값에 상관 없이 info[index][0]에 접근하기 때문에 index >= l일 때 out of range가 발생하는 것으로 보입니다.
uskhbs 1년 전
아래 코드를 실행하면
IndexError: list index out of range 오류가 발생합니다
위치는 64번 라인이구요.
무슨 문제인지 도저히 모르겠는데
if index < l and time == info[index][0] : 로 수정하면 문제가 해결됩니다.
단순히 앞뒤 위치만 바꾼건데 해결이 되서 원인이 뭔지 알고싶습니다. 고수분들 도와주세요