'''
 * 탈출문 (흐름 제어문) - break, continue, return

 - 반복문은 조건을 만족하는 동안 계속 반복 실행하기 때문에
  한 번 반복이 시작되면 반복 횟수가 끝날 때 까지 멈추지 않고 반복

 - 중간에 어떠한 이유로 반복을 중지해야 한다거나 
 현재 반복을 건너뛰어야 할 경우 탈출문 사용

 * break
 - break는 현재 반복문을 즉시 종료시키도 반복문 탈출
 - 일반적으로 특정 조건 하에서 반복문을 종료시키기 때문에 if문과 같이 사용 됨 
'''

for n in range(1, 11):
    print(n, end = ' ')
print('\n반복문 종료!')

points = [92, 56, 77, -33, 48]

for p in points:
    if p < 0 or p > 100:
        print('문제가 발생했습니다!')
        print('문제가 있는 점수:', p)
        break

    print(p,'점 처리 완료')

'''
* 무한 루프

- 무한 루프는 반복 횟수를 정하지 않고 무한하게 반복문을 실행하는 구조

- 사전에 정확한 반복 횟수를 알 수 없을 때 사용
 탈출문을 통해 종료할 수 있도록 설계

- 파이썬의 무한루프는 while문으로만 작성, for문으로는 구현 불가능
'''

print('# 먹고 싶은 음식을 입력하세요')
print('입력을 중지하려면 "그만" 이라고 입력하세요')

while True:
    food = input('> ')
    if food == '그만':
        print('입력을 종료합니다.')
        break

print('프로그램 정상 종료.')

'''
* continue

- break가 반복문을 강제로 종료시켰다면, continue는
 이번 반복 1회자만 건너뛰고, 다음 반복부터는 정상적으로
 실행을 계속하게 하는 탈출문
'''

for n in range(1, 21):
    if n % 3 == 0:
        continue
    print(n, end=' ')
print('\n반복문 종료.')