강의로 돌아가기
김진주

왜 안 되죠...?

전 뭘 못하는 걸가요....

작성중인 코드―forInRange2
1
2
3
4
rainbow=["빨","주","노","초","파","남","보"]
for i, in enumerate(rainbow):
    color = rainbow[i]
    print('{}번째 색은 {}'.format(i+1,color))
4 개의 답변
-

저도 확실하지는 않습니다만,
enumerate는 값은 무조건 인덱스값과 결과값을 같이 넣어줘야 하는거 같습니다.

Demi

enumerate()는 값 2개를 리턴하므로 unpack을 받아줄 변수도 2개가 필요합니다.

for i, in enumerate(rainbow):가 아니라 for i, j in enumerate(rainbow):와 같이 변수를 하나 더 적어주세요. 만약 j값을 쓰지 않을 경우 for i, _ in enumerate(rainbow):와 같이 쓰지 않을 값은 _로 받을 수 있습니다.

유근지

forf 뒤에 인수 i 그리고, 로 적어주셨는데 인덱스값과 리스트값 2개를 반환하므로 받을함수 2개를 사용하셔야합니다
for i, x in enumerate(rainbow):
그리고 i,x를 출력해보면 인덱스값과 리스트값이 나오는데 인덱스가 0부터 시작이라 i+1로 해준겁니다.

-

enumerate()는 한 번에 순서와 list 안의 값을 모두 뽑아내는 함수이니 for와 in 사이에 2개의 변수가 필요합니다.
for i, color in enumerate(rainbow):
으로 시작하시고, 2줄의 내용은 enumerate를 사용함으로써 1줄에 포함되었으니 삭제하시면 됩니다.

또 다른 방법은,
for i in range(len(rainbow)):
으로 시작해서 2줄 3줄 모두 사용하셔도 됩니다!

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.