while 반복문
저보다 설명을 잘해둔 (링크)while문에 대해서 알아보자 이 링크를 참조해주세요 :)
그리고 저도 설명을 해봤지만 정말 너무 못해서 “헬로 파이썬 프로그래밍”책을 참조하도록 하겠습니다!
조건을 만족하는 동안
지금까지 반복문의 첫번째 종류인 for문에 대해서 배웠다. 이번에는 조건반복 이라고 하는 while 에 대해서 배워보도록 하자.
for문은 반복문을 몇번 실행할지 미리 아는 경우에 사용하기 좋다. 그런데 때로는 어떤 상황이 일어나기 전까지는 반복문을 계속 실행하고 싶고, 그럴 상황이 일어날 때까지 몇번 반복해야 할지 모를때가 있다. 이러한 경우에 while문을 이용하면 이러한 문제를 해결할 수 있다.
while문은 실행될때마다 “이제 끝났나??.. 이제 끝났나??”를 계속 뒤풀이 한다. 우리가 에전에 배웠던 if문을 이용해 매번 반복할 때마다 내가 더 반복해야 하는가? 를 결정하게 되는것이다. 예를 들어서 숙제와 같은 경우에 숙제를 다 할 때까지 계속 숙제하기() 라는 작업을 계속해야 한다.
while 숙제안함:
숙제하기()
print("숙제 다함!!")
즉 숙제안함 이라는 조건이 만족하는 동안(True 값인 경우)에는 계속 숙제하기() 라는 작업을 반복을 한다는 소리다.
아래 코드는 while문의 기본적인 구조이다. while문 안에잇는 조건이 True라면, 무한정 조건이 False가 될 때까지 계속 반복한다. (조금 헷갈릴 것 같다)
while 조건:
실행할코드들
...
간단하게 아래와 같은 패턴을 생각하면 될것이다.
아래의 코드의 결과를 보면 “Hello!!!!”가 무한정으로 출력이 될 것이다. 왜냐하면, 조건이 언제나 True로 참이기 때문에 반복은 멈추지 않는다.
while True:
print("Hello!!!!")
예를 들어서 3이 입력될 때 까지 계속 입력받기 라는 코드를 작성한다고 생각해보자. 입력받는 값에 3이 들어갈 때까지 계속 반복해서 수를 입력받아야 한다. 이럴때 while문을 사용한다.
data = 0
while data!=3:
data = input("3을 입력해 주세요! :")
print("3이 입력되었습니다.!") #data가 3이 되면 while이 끝나고 이 문장이 출력된다.
아래 코드는 count가 5보다 작을 동안 계속 1씩 더해주는 코드이다. 그리고 count가 5가 된다면 멈추게 된다.
count = 0
while count<5:
count +=1
print("Count :"+str(count))
print("Finished!")
#결과#
# Count : 1
# Count : 2
# Count : 3
# Count : 4
# Count : 5
# Finished!!