Python/Python 중급

Python 파이썬 While 문

독학코딩 2021. 11. 27. 09:33
반응형

안녕하세요 독학코딩입니다. 오늘은 파이썬 while 문에 대해서 배워보겠습니다. while은 ~동안에 라는 의미로 파이썬에서도 특정 조건이 유지되는 동안 계속해서 코드를 실행 하는 기능을 가진 문법입니다. if문과 for문의 조합처럼 사용된다고 생각하셔도 됩니다.

if문
    if A == B: 
        print(B)
    elif A == C:
        print(C)
    else:
        print(D)

for문
    for i in range(10):
        print(i)

while문
    a = 0
    while a < 10:
        print(a)
        a += 1

try-except문
    try:
        print(a)
    except:
        print("a in not defined")

 


Python while 문의 기본형태

파이썬 while 문의 기본형태는 기능적으로 파이썬 for문과 매우 비슷합니다. 기본적으로 while 문은 while [조건문] : [실행문]의 형태를 갖고있습니다.

a = 0
while a < 10:
    print(a, end=" ")
    a += 1

위의 예를 보시면 a가 10보다 작을 경우 a를 출력하는 while 문입니다. 이 정도를 for문으로도 충분히 작성가능합니다. 

for i in range(10):
    print(i, end=" ")

심지어 for문으로는 훨씬 더 간단하게 가능합니다. 그러면 왜 파이썬에는 while 문 같은 문법이 있는 걸까요? for문 같은 경우는 반복할 숫자가 미리 정해진 경우에 사용됩니다. 그런데 반복한 숫자를 미리 알지 못한다면요? 혹은 반복되는 수에 관련없이 무조건 특정 조건이 되어야지만 다음 실행이 가능하다면요? 아래에서 설명하겠습니다.

 

 

Python while 문의 무한반복

while True:
    print("while 문을 실행 중입니다.")

위처럼 while의 조건을 True로 설정한다면 while 문 안의 코드를 무한히 반복할 것입니다. 위 예제는 실제로 안해보길 추천드립니다. 해보고 싶으시다면 파이참에서 코드 실행을 정지 시키는 빨간버튼이 어딨는지 확인하고 하시기 바랍니다.

 

실제로는 이렇게 정말 무한히 반복하지는 않습니다. 다만, 반복회수에 상관없이 특정 값을 얻기 위해 사용되는가 많습니다. 이 방법이 while을 사용하는 가장 큰 예라고 생각됩니다.

 

 

while True:
    print("여기에 아이디 라고 입력해주세요.")
    Userinput = input()
    if Userinput != "아이디":
        pass
    else :
        break

예를 들면 위와 같습니다. 사용자에게 특정 값을 입력 받아야 하거나, 혹은 데이터베이스, 백엔드, API 등을 통해서 특정 자료를 받아야 할 때 많이 사용됩니다.

더보기

위의 예제에 사용된 input()이나 데이터베이스, 백엔드, API 등이 무슨 말인지 모르신다면 걱정마세요. 그게 정상입니다. while을 사용 예를 설명하기 위함이니 이번에는 "아 그렇구나" 하고 지나가시면 됩니다.

 

 

Python while 문의 break

break는 for문의 설명에서 보셨을겁니다. 같은 기능이 맞습니다. while 문을 깨고 나올 때 사용됩니다. 

a = 0
while a < 10:
    a += 1
    if a == 5:
        break
    print(a)

 

Python while 문의 continue

continue도 for문과 같은 기능이 맞습니다. while 문의 실행 중 제일 처음으로 다시 돌아갈 때 사용됩니다. 정확히는 다음 실행을 진행하는게 맞습니다만, while 문은 for문과 다르게 다음 실행이 똑같은 실행이니 처음으로 돌아간다 생각해주시면 됩니다.

a = 0
while a < 10:
    a += 1
    if a == 5:
        continue
    print(a)

 

 

오늘은 파이썬의 while 문에 대해서 배워보았습니다. for를 써도 되는데 굳이 while은 왜 있는걸까 의문이 있을 수도 있습니다만, 파이썬을 진행하시다 보면 쓰시는 날이 무조건 있을테니 알아두시면 좋습니다. 다음시간엔 파이썬의 try except에 대해서 배워보겠습니다.

 

 

 

 

 

반응형