일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 미술치료자격증
- 독서심리치료
- 김호중방송
- 독서치료사자격증
- 독서심리
- 독서치료
- 심리상담사자격증
- 그림책심리지도사
- 무료상담교육
- 미술심리치료
- 독서심리치료사자격증
- 심리학강의
- 이재연교수
- 김호중노래
- 학부모교육
- 독서심리지도사자격증
- 독서심리지도사
- 김천심리상담센터
- 문학치료
- 부모교육
- 무료상담
- 무료심리상담
- 심리학교수
- 무료심리치료
- 독서치료사
- 심리학
- 독서심리치료사
- 문학치료사
- 심리상담
- 부부심리상담
- Today
- Total
심리이모저모
파이썬 공부하자! - 11. while문 본문
이 글이 도움이 되신다면^^ 중간에 있는 광고 클릭 한번 부탁드립니다! 더 좋은 글을 쓸 수 있도록 최선을 다하겠습니다~
Key word: 파이썬(Python), 제어문, 반복문, while문, 반복문과 분기문
1. While문
반복적인 작업을 for문을 통해서 처리할 수 있다는 것을 앞에서 배웠습니다. 파이썬에서는 for문 말고도 반복문을 작성할 수 있는 방법을 제공하는데 이것이 바로 'while문'입니다.
그렇다면 왜 굳이 새로운 방법을 만들어 제공할까요?
for문은 일반적으로 파이썬에서 반복 횟수가 미리 정해져 있거나 리스트, 사전과 같은 자료구조와 함께 사용합니다. 이 경우에는 'ㅑ'가 '1~10'까지를 원소로 가지는 리스트'에 속한다는 조건으로 10번만 반복하게 정해놓은 것입니다.
반면 while문은 반복 횟수가 정해지지 않고, 특정 조건을 충족하는 동안만 실행할 때, 주로 사용합니다. 물론 둘의 결과는 동일하기 때문에 어떤 반복문이 더 쉬운 지, 더 어울리는지를 여러분이 결정하고 사용하면 됩니다.
먼저 while문을 어떻게 사용하는지부터 보아야 되겠죠?
1~10까지의수를 출력해 봅시다. 우선 'i'라는 변수가 1으로 정해집니다. 그 후 while문이 시작되는데요.
while문은 뒤에 붙은 조건이 참이라면 콜론(:) 뒤의 들여쓰기 된 문장들을 실행합니다. 실행후에는 다시 조건의 참/거짓을 판단해 반복을 계속할지에 대한 결정을 내리게 됩니다.
즉 위 코드에서는 다음과 같은 순서로 진행되는 것입니다.
정리해 봅시다.
1) 반복문에는 for와 while을 사용할 수 있습니다.
2) 'while' -> '반복 조건' -> 콜론(:)의 순으로 작성 합니다.
3) 반복할 코드를 들여쓰기 합니다.
그럼 while문에 익숙해지기 위한 예제로 다음 문제를 풀어볼까요.
우선 중요한 단어들부터 차례대로 집어볼까요.
1) '4일 연속'
'4일 연속'으로 상한가를 기록했다는 것은 첫째 날 상한가를 기록하고, 둘째 날도 상한가를 기록하고, 셋째 날도, 넷째 날도 상한을 기록했다는 것이 됩니다. 즉, 상한가를 기록한 일이 4번 반복되었다는 것이죠.
2) 10,000원, 3% 상한가
상한가를 기록한다는 행위가 반복되었다는 것을 알지만 정확한 수치를 위해서는 얼마가, 얼마만큼 올랐는지를 알아야 되겠죠. 이 경우에는 만 원을 시작으로 30%씩 올랐다는 것을 알 수 있고, 첫 번째 상한가 후의 가격은 다음과 같이 계산할 수 있을 겁니다.
10000+10000 X 0.3 = 13000
두 번째 상한가 후의 가격은 다음과 같겠죠?
13000 + 13000 X 0.3 = 16900
점점 계산이 복잡해지고 머리가 아파올 것 같기에 while문으로 끝내버립시다.
초기의 주가를 alssul이라는 바인딩 해 두었습니다. 그리고 4일의 시간을 세기 위해 날짜를 저장하는 변수로 day에 1을 바인딩 하였습니다.
그렇다면 실행되는 순서는 다음과 같을 것입니다.
상한가를 계산하는 과정이 궁금하실 수도 있는데요. 대부분의 프로그래밍에서는 변수에 값을 바인딩하기 전에 오른쪽의 모든 계산식을 완료합니다.
즉, 지금 상한가를 계산하는 과정인 alssul = alssul + alssul*0.3은 현재 alssul의 값과 alssul의 값에 0.3을 곱한 값을 더해 alssul에 새롭게 바인딩하는 것입니다.
예를 들어, 첫 번째 상한가를 계산하는 과정에서는 다음과 같은 것입니다.
2. While과 if문
이번에는 반복문과 분기문을 함께 사용하는 것에 대해 알아 볼 겁니다. 쉽게 말하면 반복을 하면서 다른 조건을 찾는 작업을 하는 것입니다.
예를 들어서 1부터 10까지의 수들 중에 홀수만 찾아 출력하거나, 짝수만 출력하는 일처럼 말입니다.
그럼 1부터 10까지 수들 중 홀수만 출력하는 프로그램을 작성하는 것으로 이번 작업에 익숙해져 봅시다!
보시면 while문에서 반복하는 문장들 중 if문이 들어가 있습니다.
while문의 조건식은 'num이라는 변수가 10보다 작거나 같다'로 10번 반복을 하게 하네요. 그런데 if문의 조건식은 뭔가 생소합니다.
'num%2'
'num%2'에서 퍼센트(%) 기호는 나머지 연산을 뜻합니다. 이 경우 num 변수의 값을 2로 나눈 나머지를 이야기 하는 것이죠. 만약 num이 홀수라면 2로 나눈 나머지가 무조건 1일 것이고, 짝수인 경우는 무조건 0이 되겠죠. 기억하실지 모르겠지만 파이썬에서는 1을 True, 즉 참이라고 생각합니다. 따라서 num이 홀수일 경우, if문의 조건은 참이 되고 출력을 하게 되는 것입니다.
'IT 공부하자! > Python' 카테고리의 다른 글
파이썬 공부하자! - 10. for문 (0) | 2018.01.15 |
---|---|
파이썬 공부하자! - 09. if문 (0) | 2018.01.15 |
파이썬 공부하자! - 08. 제어문 (0) | 2018.01.15 |
파이썬 공부하자 - 05 튜플 (1) | 2018.01.14 |
파이썬 공부하자 - 03 변수 연습문제 & 풀이 (0) | 2018.01.13 |