안녕하세요! 오늘은 파이썬 기초 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만 출력되고 넘어간 걸 볼 수 있습니다
'AI & 데이터 분석 > 코딩1도몰라도따라하기만하면데이터분석가능' 카테고리의 다른 글
파이썬 : 자료형 list (기본) (0) | 2021.03.17 |
---|---|
파이썬 : 반복문 for (0) | 2021.03.17 |
파이썬-조건문 if (0) | 2021.03.15 |
파이썬 : 자료형 - 숫자형, 문자열, 불린 ,print (0) | 2021.03.14 |
파이썬 기초 1 : 변수 (0) | 2021.02.22 |