일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터분석
- 컴퓨터비전
- 혼공머신
- numpy/pandas
- 정수와유리수
- 영어공부
- 데이터입출력구현
- CNN
- CSS
- 딥러닝
- 중학1-1
- 데이터베이스
- 정보처리기사필기
- html/css
- pandas
- 머신러닝
- 자바
- 자바 실습
- 파이썬라이브러리
- 정보처리기사실기
- JSP/Servlet
- 파이썬
- C++
- SQL
- 텍스트마이닝
- 연습문제
- 코딩테스트
- 운영체제
- 컴퓨터구조
- 중학수학
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
반복문 코드의 반복 줄이기 3 - while 문 본문
for문에 이어 while도 배워보기로 하자. 난 솔직히 for 문보다 while 문이 더 어렵고 잘 사용하지 않게 되는 것 같았다. while 문의 큰 특징은 무한루프가 존재한다는 것이다.
이제 바로 학습을 시작해보자! 오늘 밤까지 4단원을 모두 마치려면 속도를 내야 한다.
이론 3 - 반복문 3 : while 문
if문과 비슷하고 조건을 기준으로 한다. if문과 다른 점은 조건이 참일 때만 항상 그 명령을 수행한다는 것이다.
if 문과 다른 점 또 하나는 조건이 참이면 다시 돌아가서 명령을 수행하기를 반복한다. 예시를 보면 i = 5일때 명령을 수행하고 1일 때까지 계속 반복하다가 0이 되면 빠져나온다.
sum과 i를 더하기를 반복하면 마지막에 sum은 10이 된다. 이런 문제를 풀 때는 머리로는 이해하기 힘드니 종이에 쓰면서 학습하는 것이 좋다. 전에 강사님들이 이런 이야기를 하실 때는 마음에 별로 와닿지 않았는데, 지금은 알 것 같다. 머릿속으로만 코딩을 하려는 건 수학문제를 눈으로 푸는 것과 같다고 생각한다.
천재가 아닌 이상은 우리는 어떤 것에 익숙해지기 전까지 눈과 손이 부지런해야 한다.
이렇게 무한정 루프에 빠지면 빠져나올 수가 없다. 그럴 때 사용하는 것이 바로 뒤에 나오는 break문이다.
i가 3 이상이 되면 break로 탈출하는 문이다. 이렇게 이론 학습을 마쳐본다.
퀴즈 3 - 반복문 종료
퀴즈 4 - while 문
조금 전에 강사님이 왜 이 문제 설명을 안하고 혼자서 풀어보라고 했는지 알 것 같다. 퀴즈로 똑같은 문제가 있었다. 알고리즘 시간에는 잘 이해가 안되었는데, 이번에는 혼자서 풀어보았다.
퀴즈 5 - 반복문
while 문을 배웠으니 이게 정답일줄 알았는데 아니었다.
range는 구간을 반복하면서 명령을 수행하는 문이니 이게 더 적합하다.
실습 7 - 조건으로 반복 : while
10이 되었을 때 i를 하나 증가시키니 11이 된다. 그러니까 11이 되었을 때는 조건이 성립하지 않게 되는 것이다.
이 식은 11이 되기 전까지 반복하기 위해 i에 1을 더해주었다.
실습 8 - 10년 형에 처한다
변수를 저장하고 값을 지정해준다. 나머지는 조금 전에 풀었던 문제와 비슷하다.
실습 9 - 반복문 탈출 : break
생각해보기 문제
- 위 코드는 조건이 주어졌을 때 계속해서 반복하는 코드이다.
- True는 참이 될 때 계속해서 반복한다는 뜻이다.
- i + 1은 i 값을 증가시켜 5에 도달하기 위함이다.
- if 문이 바깥에 있으면 조건은 성립하지 않고 계속 무한루프에 빠진다.
- 1부터 10까지 출력하고 싶다면 i == 10: 하고 break를 쓰면 된다.
실습 10 - 장바구니 프로그램 만들기
마지막 문제이다. 여기까지 잘 왔고 조금 더 힘을 내보자.
이렇게 풀었는데 break가 밖에 있다는 에러가 떴다.
이번에는 shopping_list.append()에서 1개의 배열만은 갖고 있다는 에러가 떴다. 괄호에 변수를 넣어주는 것을 항상 잊어버린다. 왠지 괄호를 만나면 아무것도 기록하지 않아야 할 것 같은 착각에 빠지는 것 같다.
이제 문제를 다 풀었다. 드디어 다 끝나서 너무나 기쁘다!
세번째 단원 학습을 마치고
while문은 생각했던 것보다 이해하기 괜찮았다. 공부를 할수록 프로그래밍에 대한 이해도가 더 높아지는 것 같다. 난 문제를 풀 때 일부러 틀린 답안도 모두 기록해본다. 왜 틀렸는지 분석해보고 답을 찾아가는 과정이 정답을 맞추는 것보다 더 중요하다고 생각하기 때문이다.
이제 미션 문제를 풀고 단원을 마무리하는 정리가 남아있다. 남은 시간까지 최선을 다해 열심히 공부해야지!
'프로그래밍 언어 > 파이썬' 카테고리의 다른 글
파이썬 응용 시작해보기 - 파이썬 응용 수업 오리엔테이션 + 함수 맛보기 실습 (0) | 2024.08.01 |
---|---|
반복문 코드의 반복 줄이기 4 - 미션 문제 풀기 및 단원 마무리 (0) | 2024.08.01 |
반복문 코드의 반복 줄이기 2 - for-range 문 (0) | 2024.08.01 |
반복문 코드의 반복 줄이기 1 - for문 (0) | 2024.08.01 |
리스트 모아모아 다모아 4 - 미션 문제 풀기 및 단원 마무리 (0) | 2024.08.01 |