안녕하세요 정쌤입니다.
지난시간에는 if문에 대해서 알아보았는데요, 이번시간에는 반복해서 하는 작업에 꼭 필요한 for문에 대해서 알아보려고 합니다. 그럼 학습목표 먼저 읽고 시작하겠습니다!
<학습목표>
for문의 정의와 구조를 설명할수있다.
for문을 사용해 1부터 100까지 더하는 코드를 작성할수있다.
for문의 정의
애초에 반복문이라는게 왜 필요할까? 라는 의문에서부터 시작을 해보겠습니다.
보통 반복문을 예로들때 숫자를 세는걸 얘기합니다.
1부터 5까지 출력을 해야될때 파이썬으로 출력을 한다고 해보면
print('1')
print('2')
print('3')
print('4')
print('5')
이렇게 사용할 수 있을겁니다.
지금이야 5밖에 안되서 하나하나 수작업으로 print를 해주면 되지만, 만약 100, 1000 이라면 어떻게 하시겠습니까.
print('X')를 1~100 ~1000번 반복해서 수작업으로 해야할까요?
이렇게 반복적인 업무를 묶어서 사용할 수 있도록 반복문이 나오게 됩니다.
만약 반복문이 없었다면 우리는
print('1')
print('2')
print('3')
...
...
print('10') //이제 10
....
.....
print('100호') //이제 100
이런식으로 100번 천번 써줘야합니다. 이럴거면 엑셀을 사용했겠죠?
하지만 반복문이 있다면 이건 한 두세줄로 끝나게 됩니다.
for문의 구조
for [변수] in [문자열, 리스트, 튜플]:
[수행부분]
이런식으로 구성이 되어있습니다.
간단히 설명하면,
1. for 반복문은 in 뒤에 존재하는 문자열, 리스트, 튜플을 순서대로 순회하면서 하나씩 하나씩 [변수]에 넣어줍니다.
예를들어 [1,2,3,4,5] 라는 리스트가 왔다고 했을때
순서대로 [변수]에 1이 들어간 상태로 [수행부분]들을 진행하고.
모든 [수행부분]이 끝나면 다시 for 반복문으로 돌아와서 [변수]에 2를 넣어주고, 아래 [수행부분]을 수행하고
...
이런식으로 진행을 3, 4, 5하다가 5번을 마지막으로 "아 이제 더이상 순회할게 없네. 리스트가 끝났네"하면
for 반복문을 빠져나오게 됩니다.
2. for문의 끝에는 꼭 콜론 ( : ) 을 붙여주어야 합니다.
3. for 반복문에 [수행부분]이 속해있다는것을 들여쓰기를 통해 나타내 줍니다.
4. for문을 중첩해서 사용 할수도 있습니다.
for [변수1] in [문자열1, 리스트1, 튜플1]:
[수행부분]
for [변수2] in [문자열2, 리스트2, 튜플3]:
[수행부분]
상황에 따라 변수1, 2가 같을수도 있으며 다를수도 있습니다.
또한, 문자열1을 사용하고, 내부 for문에 문자열2가 오지 않을수도 올수도 있습니다.
1부터 5까지 출력하는 프로그램을 만들어 보겠습니다.
arr라는 리스트가 아래와 같이 존재한다고 했을때.
arr = [1, 2 ,3 ,4, 5]
for i in arr:
print(i)
이런식으로 사용하면 아래와 같은 출력이 나오게 됩니다.
1
2
3
4
5
for문에서 range란?
그럼 for문을 사용할때마다 문자열, 리스트, 튜플을 꼭 사용해야 되나요?
그렇지 않습니다. 튜플, 리스트, 문자열을 사용하지않고 range 란것을 사용해서 for문을 몇번 실행 시킬지 정해줄수있습니다.
for 반복문에서 range란?
for 문안에서 range란 '범위'를 의미하며 직접 반복문의 범위를 지정할 수 있습니다. range는 아래와 같이
다양한 방식으로 범위를 지정할 수 있습니다.
* range(a,b) : a 이상 b 미만의 범위
for문의 break
▶ for문의 break (버스도 중간에 벨눌러서 내리는데 for 반복문은 왜 못내리나.)
for 반복문을 돌다가 특정 조건을 만족하게 될때 반복문을 그만돌리고 싶을 때 사용하면 됩니다.
만약 정렬이 잘 된 리스트가 존재한다고 해보겠습니다.
위에서 반복문과 if 조건문을 함께 사용할 수 있다는 것을 알았습니다. if문으로 반복문을 중간에 멈추는 방법을 알아보겠습니다! for문 함수 안에 break라는 명령어를 적어주면 반복문을 중간에 멈출 수 있어습니다!
* 만약 1 이상 100미만 반복하는 코드에서 1부터 5까지 순서대로 출력하고 멈추려면?
for문의 continue
▶ for문의 continue (꼭 끝까지 가야만해?)
for 반복문을 돌다가 특정 조건을 만족하게 될 때 for문의 처음으로 바로 올라가고 싶을때 사용하면 됩니다.
예제를 통해 반복문 안에 continue라는 키워드 사용법을 알아보겠습니다! continue를 사용하면 continue 바로 아래의 코드로 넘어가지 않고 반복문의 조건 판단 부분으로 점프하게 됩니다.
* continue를 이용해서 1부터 10까지의 숫자에서 홀수만 순서대로 출력해보겠습니다.
다음은 파이썬 for문의 range를 활용해서 1부터 100까지 더해보는 것을 코딩해보겠습니다
이제 range를 어떻게 사용하는지 감이 오시나요?
<오늘의과제>
오늘은 for 문과 for문의 continue, break , range에 대해 공부해봤습니다. 오늘 배운내용 잊지마시고 오늘의 실습문제는 구구단 중 9단을 출력해 보는것입니다.
<for문 동영상>
아래의 코드를 복사해서 실습창에 붙여넣고 실행되는지 보고 코드를 변형시켜보세요
<1부터 100까지 합 예시코드>
result = 0
for a in range(1,101):
result = result +a
print(result)
<student list 있는 값들 출력하기 >
student = ['민희', '철수', '영희']
for a in student:
print(a)