def get_score(guesses, solution): #guesses: 유저가 뽑은 숫자 / solution: 컴퓨터가 뽑은 숫자
strike_count = 0
ball_count = 0

#스트라이크 확인, 맞으면 번호를 지움
for i in range(len(guesses)):
if guesses[i] == solution[i]:
strike_count += 1
del guesses[i], solution[i]

for i in range(len(guesses)):
if guesses[i] in solution:
ball_count += 1

return strike_count, ball_count

print(get_score([2, 3, 7], [4, 2, 7]))

# 테스트 코드
s_1, b_1 = get_score([2, 7, 4], [2, 4, 7])
print(s_1, b_1)

제가 파이참으로 작성한 코드에요


실행하면

(1, 1)

if guesses[i] == solution[i]:

----------^^^

error: index out of range


로 윗 프린트는 실행이 되지만

아랫프린트는 안되는데요


개요는 숫자야구에요

리스트 2개 받아서 위치와 숫자가 같은거, 숫자만 같은거 확인하는데

저는 스트라이크라면 그 번호를 아예 지우기로 했어요


이게 질문이에요

윗프린트와 아랫프린트 차이점이 변수에 갔다왔느냐 인데

그 차이때문에 인덱스 범위 밖 오류가 뜰 수가 있나요?

혹시 이유도 알려주실 수 있나요?