while문과 반복 제어

while

  • 조건이 참인 경우 계속 실행하는 반복문

while selected not in ['가위', '바위', '보']:
    selected = input('가위, 바위, 보 중에 선택하세요 > ')

break, continue

  • for문과 while문에서 똑같이 동작한다.

  • break문은 반문을 종료시키는 기능을 한다.

  • continue문은 반복문의 나머지 부분을 보지 않고, 반복문의 처음으로 돌아가는 기능을 한다.

list = [1, 2, 3, 5, 7, 2, 5, 237, 55]
for val in list:
    if val % 3 ==3:
        print(val)
        break
# 3

for in range(10):
    if i % 2 != 0:
        print(i)
        
for in range(10):
    if i % 2 == 0:
        continue
    print(i)
소수를 찾는 루프문
for n in range(2,10):     # 2에서 10사이의 정수를 반복
    for x in range(2,n):  # 소수는 2부터 이므로 2부터 시작
        if n % x == 0:    
        # 가장 작은 숫자부터 자기 자신까지의 숫자를 나누면서 
        # 나머지가 0이 아닌 값을 소수로 판단한다.
            print(n, 'equals', x, '*', n//x)
            break
    else:
        print(n, '는 소수입니다.')
        
# 2 는 소수입니다.
# 3 는 소수입니다.
# 4 equals 2 * 2
# 5 는 소수입니다.
# 6 equals 2 * 3
# 7 는 소수입니다.
# 8 equals 2 * 4
# 9 equals 3 * 3
  • 여기서 else절은 for문의 else절이며, 이렇게 else가 루프와 함께 사용될 때는 if else의 else개념보다는 try문의 else절과 비슷하다.

    • try의 else절은 예외가 발생하지 않을 때 실행되고,

    • 루프의 else절은 break가 발생하지 않을 때 실행된다.

Last updated