인생은 여행 人生は旅
파이썬 - 제어문(for문 1) 본문
2023 점프 투 파이썬
for 문의 기본 구조
for 문의 기본 구조는 다음과 같다.
for 변수 in 리스트(또는 튜플, 문자열):
수행할_문장1
수행할_문장2
...
리스트나 튜플, 문자열의 첫 번째 요소부터 마지막 요소까지 차례로 변수에 대입되어 ‘수행할_문장1’, ‘수행할_문장2’ 등이 수행된다.
예제를 통해 for 문 이해하기
for 문은 예제를 통해서 살펴보는 것이 가장 알기 쉽다. 다음 예제를 직접 입력해 보자.
1. 전형적인 for 문
>>> test_list = ['one', 'two', 'three']
>>> for i in test_list:
... print(i)
...
one
two
three
['one', 'two', 'three'] 리스트의 첫 번째 요소인 'one'이 먼저 i 변수에 대입된 후 print(i) 문장을 수행한다. 다음에 두 번째 요소 'two'가 i 변수에 대입된 후 print(i) 문장을 수행하고 리스트의 마지막 요소까지 이것을 반복한다.
2. 다양한 for 문의 사용
>>> a = [(1,2), (3,4), (5,6)]
>>> for (first, last) in a:
... print(first + last)
...
3
7
11
위 예는 a 리스트의 요솟값이 튜플이기 때문에 각각의 요소가 자동으로 (first, last) 변수에 대입된다.
3. for 문의 응용
for 문의 쓰임새를 알기 위해 다음과 같은 문제를 생각해 보자.
총 5명의 학생이 시험을 보았는데 시험 점수가 60점 이상이면 합격이고 그렇지 않으면 불합격이다. 합격인지, 불합격인지 결과를 보여 주시오.
먼저 학생 5명의 시험 점수를 리스트로 표현해 보자.
marks = [90, 25, 67, 45, 80]
1번 학생은 90점이고 5번 학생은 80점이다.
이런 점수를 차례로 검사해서 합격했는지, 불합격했는지 통보해 주는 프로그램을 만들어 보자. IDLE 에디터로 작성하자.
# marks1.py
marks = [90, 25, 67, 45, 80] # 학생들의 시험 점수 리스트
number = 0 # 학생에게 붙여 줄 번호
for mark in marks: # 90, 25, 67, 45, 80을 순서대로 mark에 대입
number = number +1
if mark >= 60:
print("%d번 학생은 합격입니다." % number)
else:
print("%d번 학생은 불합격입니다." % number)
각각의 학생에게 번호를 붙여 주기 위해 number 변수를 사용하였다. 점수 리스트 marks에서 차례로 점수를 꺼내어 mark라는 변수에 대입하고 for 문 안의 문장들을 수행한다. 먼저 for 문이 한 번씩 수행될 때마다 number는 1씩 증가한다.
이 프로그램을 실행하면 mark가 60 이상일 때 합격 메시지를 출력하고 60을 넘지 않을 때 불합격 메시지를 출력한다. 명령 프롬프트 창을 열어 실행해 보자.
C:\doit>python marks1.py
1번 학생은 합격입니다.
2번 학생은 불합격입니다.
3번 학생은 합격입니다.
4번 학생은 불합격입니다.
5번 학생은 합격입니다.
for 문과 continue 문
while 문에서 살펴본 continue 문을 for 문에서도 사용할 수 있다. 즉, for 문 안의 문장을 수행하는 도중 continue 문을 만나면 for 문의 처음으로 돌아가게 된다.
앞에서 for 문 응용 예제를 그대로 사용해서 60점 이상인 사람에게는 축하 메시지를 보내고 나머지 사람에게는 아무런 메시지도 전하지 않는 프로그램을 IDLE 에디터로 작성해 보자.
Copy# marks2.py
marks = [90, 25, 67, 45, 80]
number = 0
for mark in marks:
number = number +1
if mark < 60:
continue
print("%d번 학생 축하합니다. 합격입니다. " % number)
점수가 60점 이하인 학생인 경우에는 mark < 60이 참이 되어 continue 문이 수행된다. 따라서 축하 메시지를 출력하는 부분인 print 문을 수행하지 않고 for 문의 처음으로 돌아가게 된다.
C:\doit>python marks2.py
1번 학생 축하합니다. 합격입니다.
3번 학생 축하합니다. 합격입니다.
5번 학생 축하합니다. 합격입니다.
to be continue... ^^
'코딩 공부' 카테고리의 다른 글
파이썬 - 함수 2 (0) | 2024.03.20 |
---|---|
파이썬 - 함수 1 (4) | 2024.03.19 |
파이썬 - 반복문(while 2) (0) | 2024.03.14 |
파이썬 - 반복문(while 1) (0) | 2024.03.13 |
파이썬 - 조건문 if 2 (0) | 2024.03.12 |