오늘은 for 문에 대해서 알아볼 차례입니다.
파이썬에서 for 문의 쓰임새는 다른 언어와 차이가 있다고 하네요.
저도 그걸 모르고 한참 글을 쓰다보니 뭔가 이상하다는 것을 발견했습니다. ^^;
for 문은 우리가 전에 배웠던 리스트와 같은 순서형 자료를 이용해서 원하는 명령을 반복할 때 쓰인다고 합니다. [말이 좀 어렵네요..; ㅎㅎ]
순서형에 대해서는 나중에 자세하게 알려드리도록 하구요, 전에 배웠던 리스트를 다시 한번 볼까요?
>>> family = ['father', 'mother', 'I', 'syster']
저희 가족이 이랬었는데 기억 나시지요?
그냥 따라 치지 마시고 여러분의 가족을 나타내는 리스트를 만들어 보세요.
다음은 for 문을 이용해서 저희 가족들의 이름과 문자열 길이를 출력하는 프로그램입니다.
>>> for x in family: # family라는 리스트의 각각의 원소 x에 대하여:
... print x, len(x) # x와 x의 길이를 출력하라.
...
답은 아래와 같이 나오게 되지요.
father 6
mother 6
I 1
syster 6
in family for x:라고 쓰면 안되냐구요?
안되네요. .... +ㅁ+;;;
문법이 그런 거니까 그대로 써주면 되는거에요.
이번엔 range()라는 것을 배워보도록 하죠....
range는 범위라는 뜻인데 여기서는 어떤 숫자를 적어주면 그 범위 안에서 리스트를 만들어줍니다.
말은 좀 어렵지만 별 거 아니랍니다. [리스트는 이제 좀있으면 아주 자세히 배웁니다.. 다른 자료형도 배우고 말이죠.]
>>> range(2,7)
이렇게 쳐 보세요. 어떤 답이 나오나요?
[2, 3, 4, 5, 6]
예, 2 이상 7 미만인 숫자로 리스트를 만들어 주었군요. 위에서 설명한 말이 이해되세요?
그런데, for를 설명하다가 갑자기 웬 range가 나오는 걸까요?
그렇습니다. for 문에서 range를 써먹을 수 있기 때문이겠지요~~
range와 리스트는 결국 같은 것이니까 for 문에서도 사용할 수 있다는 말입니다. .ㅎㅎ
>>> a = [4, 5, 6, 7]
>>> for i in a:
... print i
...
위의 예제와 아래 예제는 같은 일을 하게 되는 것이죠.... ^^
>>> for i in range(4,8):
... print i
...
답이 어떻게 나올까요? 맞춰보시길... ㅎ
따라서 치시기 전에 먼저 생각을 해보세요. 그리 어렵지 않습니다.