AI & 데이터 분석/코딩1도몰라도따라하기만하면데이터분석가능

파이썬 : 반복문 while , break, continue

세밍_ 2021. 3. 16. 13:24
728x90
반응형

 

안녕하세요! 오늘은 파이썬 기초 4번째 시간!

반복문 while에 대해서 공부해 보도록 하겠습니다!


반복문 While

조건이 만족할 경우 반복해서 실행합니다.

먼저 기본형의 반복문을 봐볼까요?

 

conditions이 True면 ture_statements가 계속 실행됩니다

만약 condition이 False면 true_statements가 실행되지 않고 next_statements가 실행됩니다

저번 시간 배운 if문과 조금 헷갈리실텐데요

if 문은 condition이 True일 때 true_statements가 1번 실행되고 next_statement로 넘어가는데

while문은 condition이 False가 아닐 때까지 true_statement가 반복적으로 실행되고 False가 되면 그때서야 next_statement로 넘어갑니다. 만약 conditions이 계속 True면 true_statement가 계속 실행됩니다.

 

예시를 봐볼까요?

<코드 해석>

- count = 0 : 변수 count를 0이라고 부여

- while count <5: 변수 count가 5가 되기 전까지 실행

- count = count +1 : 기존의 count 변수에 +1을 해서 다시 count 변수에 할당 -> 변수 count는 +1이 더해진 새로운 값을 갖게 됨

 

먼저 count를 선언해줘 while의 반복을 만들어줄 조건 변수를 만들어 줍니다.

이후 그 count 변수를 가지고 while의 조건을 만들어 줍니다.

while 반복문은 조건이 참이면 계속 그 실행문이 반복되겠죠?

그러니 조건문의 조건상태를 변할 수 있게 하는 실행문 "count = count +1"을 넣어줍니다.

그렇게 했을 때 결과가 0~4까지 반복하고 5가 됐을 때 조건에 부합하지 않고 False이니 while문을 실행하지 못하고 그 다음 코드를 실행한 것을 볼 수 있습니다. 

 

그럼 1부터 10까지를 더하는 프로그램을 만들어 볼까요?

답을 보기 전에 먼저 작성해보기 바랍니다!

더보기

중간에 print(count, " : ", total)은 현재 상황이 어떤지 알기 쉽게 넣어 놓은 것 입니다

반복문을 실행하면서 반복을 계속 하다가 특정 조건이 생기면 while문을 그만두게 하거나 특정조건일 때 실행문을 안하고 지나가게 하는 것도 하고 싶을 거에요

그렇게 하기 위한 방법에 break와 continue가 있습니다,

break

특정 조건에서 반복문을 중단하고 싶을 때 사용합니다. 

위의 예시는 while문을 6번 돌리는 것을 전제로 하지만 count가 3이 되면 while문을 나가게 하는 코드 입니다.

그럼 while을 3까지만 돌리면 되지 않냐는 의문을 가지실 수도 있을 것 같아요

저 위의 예시는 break의 사용을 보여주기위한 예시이구요

예를들어 어떤 변수에 수가 할당되어 있는데 그 변수에 뭐가 담겼는지 잘 모른다고 할게요.

이때 while의 반복을 돌릴 어느정도 수의 범위를 잡고 그 미지의 변수가 뭔지 찾아내는 프로그램을 찾아낼 때 break를 사용할 수 있을 거에요

위의 예시처럼요

(unkown은 제가 다른 cell에 미리 선언을 해놓았습니다)

(중간의 findNumber+=1 은 findNumber = findNumber+1 과 똑같아요. 자기 자신에게 변화를 주고 다시 그 변화된 값을 자기 변수에게 할당할때 사용합니다.)

 

아래 예시는 while과 break를 사용해 자판기와 그의 환불하는 기능을 보여주는 코드입니다. 

<코드해석>

  • coin = int(input("동전을 넣으세요 : "))
    • int( x) : (보통) str인 요소를 int 요소로 특징 변환
    • input() : 사용자의 값을 입력 받게 함, 위의 예시처럼 str을 넣어서 그것이 출력되게도 함
    • 위의 코드는 input("동전을 넣으세요 : ")로 받은 str을 int()로 감싸 int 형으로 바꿔준 것을 coin 변수에 넣음
  • if drink == 0 : print("콜라가 나왔습니다")
    elif drink ==1 : print("사이다가 나왔습니다")
    else : break
    • 조건문에서 실행문이 한줄정도 밖에 되지 않으면 엔터를 굳이 안치고 조건문 옆에 바로 작성하기도 합니다. 하지만 가독성의 문제로 엔터를 치고 조건문을 작성하는 것을 권고합니다
    • 변수 drink가 0이나 1이 아니면 break가 작동되게 되어 while문을 나가게 합니다.

continue

특정 조건에서 작동을 수행하지 않고 넘어가고 싶을때 사용합니다.

위의 예시처럼 3일때 count가 print되지 않고 12456만 출력되고 넘어간 걸 볼 수 있습니다 

728x90
반응형