Python_반복문 제어

장해수·2023년 6월 8일
  1. Continue
  • 반복 실행 중 continue를 만나면 실행을 생략하고 다음 반복 실행문으로 넘어감.
for i in range(1, 100):
	if i % 7 != 0:
    	continue #7의 배수가 아닌 경우 아래 print문을 실행하지 않고 이전 실행문을 실행함. 
        
    print('{}는 7의 배수입니다.'.format(i)
7는 7의 배수입니다.
14는 7의 배수입니다.
21는 7의 배수입니다.
28는 7의 배수입니다.
35는 7의 배수입니다.
42는 7의 배수입니다.
49는 7의 배수입니다.
56는 7의 배수입니다.
63는 7의 배수입니다.
70는 7의 배수입니다.
77는 7의 배수입니다.
84는 7의 배수입니다.
91는 7의 배수입니다.
98는 7의 배수입니다.
  1. else
  • else 실행문은 반복문이 종료된 후 실행됨.
count = 0

for i in range(1, 100):
        if i % 7 != 0:
            continue
        print('{}는 7의 배수입니다.'.format(i))
        count += 1 #7의 배수인 경우에만 실행됨
else:
    print('99까지의 정수 중 7의 배수는 {}개 입니다.'.format(count))
7는 7의 배수입니다.
14는 7의 배수입니다.
21는 7의 배수입니다.
28는 7의 배수입니다.
35는 7의 배수입니다.
42는 7의 배수입니다.
49는 7의 배수입니다.
56는 7의 배수입니다.
63는 7의 배수입니다.
70는 7의 배수입니다.
77는 7의 배수입니다.
84는 7의 배수입니다.
91는 7의 배수입니다.
98는 7의 배수입니다.
99까지의 정수 중 7의 배수는 14개 입니다.
  1. break
  • 반복 실행 중 break를 만나면 반복문을 종료함.
  • 후행 반복문이 있더라도 break가 있을 경우 바로 종료함.
num = 0

while True:
    print('Hello')

    num += 1
    if num >= 5:
        break

print('The End')
Hello
Hello
Hello
Hello
Hello
The End
  1. 실습
    예제 1) 1부터 100까지의 정수 중 3과 7의 공배수와 최소공배수를 출력하자.
  • 코드
minNum = 0
for i in range(1, 101):
    if i % 3 != 0 or i % 7 != 0:
        continue
    print('공배수: {}'.format(i))

    if minNum == 0: #최소공배수를 구하기 위해서 minNum이 한번만 실행되게 함
        minNum = i
        
else:
    print('최소공배수: {}'.format(minNum))
  • 결과
공배수: 21
공배수: 42
공배수: 63
공배수: 84
최소공배수: 21

예제 2) 10의 팩토리얼(10!)을 계산하는 과정에서 결과값이 50을 넘을 때의 숫자를 구하자.

  • 코드
result = 1
num = 0

for i in range(1, 11):
    result *= i

    if result > 50:
        num = i
        break

print('num: {}, result: {}'.format(num, result))
  • 결과
num: 5, result: 120

예제 3) 새끼 강아지 체중이 2.2kg가 넘으면 이유식을 중단하려고 한다. 한 번 이유식을 먹을 때 체중이 70g 증가한다고 할 때, 예상되는 이유식 날짜를 구하자. (현재 체중: 800g)

  • 코드
while True:
    if currentWeight >= 2200:
        break  #체중이 2200g 넘으면 중단, 넘지 않으면 다음 실행문 실행 

    currentWeight += 70
    date += 1

print('이유식 중단 날짜: {}'.format(date))
  • 결과
이유식 중단 날짜: 21
profile
데이터 진행시켜

0개의 댓글