ai-creator

[python 독학] 5. while 와 break - 반복문 본문

유치한 파이썬

[python 독학] 5. while 와 break - 반복문

ai-creator 2020. 8. 17. 16:27
반응형

유치한 파이썬에 오신 것을 환영합니다.

오늘은 [ while 과 break ] 입니다.

오늘은 아래와 같은 순서로 배워보겠습니다.

 

1. 들어가기

2. while을 배우는 이유

3. while 사용법

4. [문제] while으로 구구단 만들기

5. 확장하기

6. 정리하기

7. 생각하기

 

** 영상 : youtu.be/ATvd1O5WOuM


1. 들어가기

지난 시간에는 for에 대해서 배워보았습니다.

 

for는 ~하는 동안 '반복'해서 ~을 해!라는 의미를 가진다.

while도 ~하는 동안 '반복'해서 ~을 해!라는 의미를 가진다.

for, while 모두 반복문을 의미한다.

 

그리고 ~하는 동안 반복해라! 라고 말했지만, 어느 순간에 그만 했으면.... 하고 싶을때 있자나요.

그만하고 싶다! 빠져나오고 싶다! 지금을 깨부고 싶다!의미를 가지는 break에 대해서 배워보도록 하겠습니다.

 

2. while 을 배우는 이유

while을 배우는 이유는 for를 배우는 이유와 동일합니다.

 

바로 컴퓨터를 활용하는 이유와 맞닿아 있는 것이지요. 즉, "연산" 과 "반복"

- 내 머리로 안되는 어렵고 복잡한 연산을 시키고,

- 반복적으로 되풀이 되는 귀찮은 일들을 컴퓨터에게 시켜서

즉, 똑똑하지만 실수 없는 기계에게 "연산"과 "반복"을 시켜 "자유"를 얻고 싶어서 배우죠.

 

3.  while 사용법

while 조건:
     수행사항

 

for문과 while문의 차이점은

- for는 특정 횟수만큼 반복해~ 라는 느낌이라면,

- while은 조건이 만족하는 동안 반복해~ 라는 느낌입니다.

잉? 모르겠는데? 라고 생각하셔도 지금은 괜찮습니다.

수행을 반복하고 싶을때, for 또는 while을 사용하면 되는구나~ 라는 생각이 들면 되요.

 

4. [문제] while 으로 구구단 만들기

while과 for는 동일한 역할을 합니다. 그러므로, while로도 구구단을 만들어 볼 수 있겠죠?

num = 1
while num <= 9:
    print("2 x", num, "=", 2*num)
    num = num + 1

[소스 설명]

제일 중요한 내용은 이것입니다.

 

while num <= 9 :

    실행문장

=> num이 9이하인 동안 실행문장을 반복해라. 그런데, num의 시작값이 1부터 이므로, num=1을 제일 상단에 넣어주고,

1->2->3 으로 변경되어야 하므로 num = num + 1을 통해 num에 1씩을 더해서 다시 num을 만들어줍니다.

 

 

[결과 확인]

 

5. 확장하기

인사 프로그램을 작성해보겠습니다.

항상 'Hello!'로 인사를 해주다가 

사용자가 'e' (end)를 입력하면, 'Good bye~~~~'를 출력한 뒤 프로그램을 종료하는 프로그램입니다.

 

[소스코드]

while True:
    user_input = input()
    if user_input == 'e':
        print("Good bye~~~~")
        break
    
    print("Hello!")

[소스코드 만드는 방법]

 

Step 1) 반복문 수행하기

사용자가 언제 e를 누를지 알 수 없으므로, 반복을 계속하는 '무한반복' 상태를 만들어야 합니다.

즉, 무한반복 = 조건을 항상 만족하게 만든다 입니다.

 

while True : 
    수행 문장

=> 조건이 항상 '참'이므로 만족하게 되는 것이지요.

현재는 무한반복이므로, 절대 죽지 않는 무적의 프로그램이 됩니다. 

아무 생각없이 실행했다가는????? 프로그램을 죽여야 하는 상황이 생기므로, 잠시 멈춰주세요! ㅎㅎ

 

Step 2) 사용자로부터 입력 받기

> input()를 사용하면 됩니다.

while True:
    user_input = input()
    print(user_input)

사용자로부터 키보드 입력을 받을때까지 기다렸다가, 입력이 되면 user_input에 값이 담기게 됩니다.

사용자가 e를 입력하기 전까지는 계속 입력을 받아야 하므로 while문 안에 들어갑니다.

 

Step 3) 프로그램 종료 조건 선언하기

1~2)은 '무한' 실행이되는 프로그램입니다. 프로그램을 종료시키기 위해서는 사용자가 e를 입력하면 되죠.

아직 배우지 않았지만, 매우 쉬운 문법입니다.

만약 사용자가 e를 입력한다면, 만약 ~라면 의 의미? if가 있죠.

 

if user_input == 'e':

    수행문장

=> 여기서 수행문장은 무엇일까요? 이제 그만하고 싶어! 빠져나오고 싶어! break

 

if user_input == 'e':

    break

6. 정리하기

오늘은 for의 친구 while을 배웠고, 반복 그만하고 싶어!를 의미하는 break를 배웠습니다.

while문법은 다음과 같습니다.

while 조건:
    수행문장

7. 생각하기

프로그램 사용자로부터 '단'을 입력받아서 해당 단을 출력하는 구구단 프로그램을 작성해 보세요.

즉, 사용자가 2를 입력하면 2단을 수행해주고, 9를 입력하면 9단을 수행해주는 것이지요.

그러다가 e가 입력되면? 프로그램을 종료합니다.

여기서 주의하셔야 할 사항은 input()으로 입력된 값은 string형입니다. (숫자형이 아니므로, 연산을 하려면 어떻게 해야 할까요?)

 

댓글 달아주시면, 피드백 드리겠습니다~^^

 

 

 


도움이 되셨다면, 좋아요 / 구독 버튼 눌러주세요~

 

저작물의 저작권은 작성자에게 있습니다.
공유는 자유롭게 하시되 댓글 남겨주세요~
상업적 용도로는 무단 사용을 금지합니다.
끝까지 읽어주셔서 감사합니다^^

반응형
Comments