숫자 1부터 10까지 출력하는 반복문
for i in range(1, 11):
print(i)
x = 1
while x < 11:
print(x)
x = x + 1
위와 같음
위의 예제에서 x = x + 1을 빼고 수행하면 --> 무한루프 발생
무한 루프가 단점이자 장점
다음은 무한 루프를 활용한 MBTI 테스트 프로그램
while True:
print(""" <초간단 mbti 테스트 하기>
문제가 생겼을 때 당신의 대처 방법은?
""")
q1 = input("Q1. 말이 많아진다면 E, 생각이 많아진다면 I, 선택해봐유? ")
q2 = input("Q2. 그냥 그런가보다면 S, 어떻게 그럴수 있지 N, 선택해봐유? ")
q3 = input("Q3. 이해는 안되는데 공감은 된다면 F, 이해가 되야 공감을 하든지 말든지 하면 T, 선택해봐유? ")
q4 = input("Q4. 나는 한다하면 하면 J, 뭐부터 해야하는겨 하면 P, 선택해봐유? ")
print(" ")
result = q1 + q2 + q3 + q4
print('당신의 mbti 는 ' + result + ' 입니다')
위의 질문 중에 "중지시키겠습니까?" 라는 질문을 넣고
yes라고 하면 프로그램이 중지되게 코드를 수정
while True:
print(""" <초간단 mbti 테스트 하기>
문제가 생겼을 때 당신의 대처 방법은?
""")
q1 = input("Q1. 말이 많아진다면 E, 생각이 많아진다면 I, 선택해봐유? ")
q2 = input("Q2. 그냥 그런가보다면 S, 어떻게 그럴수 있지 N, 선택해봐유? ")
q3 = input("Q3. 이해는 안되는데 공감은 된다면 F, 이해가 되야 공감을 하든지 말든지 하면 T, 선택해봐유? ")
q4 = input("Q4. 나는 한다하면 하면 J, 뭐부터 해야하는겨 하면 P, 선택해봐유? ")
print(" ")
result = q1 + q2 + q3 + q4
print('당신의 mbti 는 ' + result + ' 입니다')
stop = input('중지시키겠습니까? (yes or no)')
if stop == 'yes':
break
while True를 사용할 때는 break가 짝꿍처럼 같이 쓰임break 문을 통해 무한 루프에서 벗어날 수 있음