강의로 돌아가기
-

format(i+1)에서 +1은 왜 하는건가요?

format(i+1)에서 +1은 왜 하는건가요?

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

i + 1 구문이 없다면 무조건 0번째 색만 출력됩니다.
이유는 color = rainbow[i] 이 구문에서 +1이 없다면 계속해서 처음 i에 들어있는 수인 0 즉 rainbow[0] 이 출력되며.
print 구문 역시 0번째 색만을 나타낼 것입니다.
하지만 +1을 해주게되면 for문이 반복하면서 i의 값이 +1 되며 rainbow[1] , rainbow[2] 이렇게 각 배열의 방에 들어있는 색들을 꺼내서 print 해주게 되는것입니다~

  • -
    for 구문에서 이미 i는 range 내에서 0부터 1, 2, 3, 쭉 더해지게 되어있는것이지 않나요? 여기서 i +1을 하는 이유는 i를 넣었을 때 0부터 시작하게 되다보니 '1'번째 색 부터 시작 즉, 0이 아니라 1부터 숫자가 들어가야하므로 +1을 해준게 아닌가 싶네요
    -―2017.08.18 11:24
-

i는 0부터 시작합니다.
반면 print문에서는
'0'번째 색으로가 아니라 '1'번째 색으로 즉, 0이 아니라 1부터 시작해 나가고 싶은 것입니다.
때문에
i +1을 넣어주는 거라고 생각합니다.

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