본문 바로가기

교육/[Codeit] 프로그래밍 기초 in Python

while 반복문

반응형

무언가를 반복하기 위해 사용

 

코딩을 왜 하나?

반복적인 일을 컴퓨터가 하게 하기 위해

 

 

while 반복문 구조

while 조건 부분:
    수행 부분
    
ex)
wile 다운로드 안 받은 이미지가 있다:
    다음 이미지를 보고, 다운로드 받는다

 

 

while 반복문 문법

while 조건 부분 #불린 값으로 계산되는 식
    수행 부분 #반복적으로 실행하고 싶은 명령

    
    wile True
    실행 
    
    wile False - wile문에서 나오게 됨
    
    
    wile 조건부분: # 반드시 콜론 써야한다
        수행 부분 # 반드시 들여쓰기 해야한다
        
        
    i = 1
    wile i <== 3
        print("나는 잘생겼다!")
        i += 1

 

 

 

while 반복문을 사용하여 1 이상 100 이하의 짝수를 모두 출력해 보세요.

출력 결과는 아래와 같이 나와야 합니다.

2
4
6
8
.
.
.
94
96
98
100

 

과제 해설
while 반복문을 이용해서 1부터 10까지 출력하려면 이렇게 하면 됩니다.

i = 1
while i <= 10:
    print(i)
    i += 1
그러면 1부터 50까지 출력하려면? 이렇게 하면 되겠죠.

i = 1
while i <= 50:
    print(i)
    i += 1
저희는 1부터 100까지의 수 중 짝수(2, 4, 6, 8, ... , 96, 98, 100)만 출력하고 싶은 건데요. 생각해 보면 이건 1 * 2, 2 * 2, 3 * 2, 4 * 2, ... , 48 * 2, 49 * 2, 50 * 2와 같습니다. 그러면 위 코드에서 출력하는 값을 i * 2로 수정하기만 하면 되는 거죠!

모범 답안
i = 1
while i <= 50:
    print(i * 2)
    i += 1

 

 

실습과제
while문을 사용하여, 100 이상의 자연수 중 가장 작은 23의 배수를 출력해 보세요.

i = 100

# 코드를 입력하세요.
115

 

 

과제 해설
100 이상의 자연수 중 가장 작은 23의 배수를 출력하려고 하는데요.

배수란?
일단 배수란 무엇일까요? 23의 배수는 23으로 나누어 떨어지는 수입니다. 즉 i를 23으로 나눈 나머지(i % 23)가 0이 될 것이라는 의미입니다.

전략
그러면 우리는 무얼 해야 할까요?

100이 23으로 나누어 떨어지는지 확인하고, 101이 23으로 나누어 떨어지는지 확인하고, 102가 23으로 나누어 떨어지는지 확인하고... 이런 식으로 100부터 시작해서 23으로 나누어 떨어지는 수가 있을 때까지 계속 1씩 늘리면서 확인하면 됩니다.

코드
i를 23으로 나눈 나머지(i % 23)가 0이 될 때까지 while문을 반복하면 됩니다. 다른 말로는,

i를 23으로 나눈 나머지가 0이 아닐 동안에 → while i % 23 != 0
i를 1씩 늘리면 됩니다. → i += 1
모범 답안
i = 100
while i % 23 != 0:
    i += 1

print(i)

728x90
반응형