[파이썬 입문] 3. 제어문과 컬렉션 – 3) 반복문

while

while문은 조건이 참일 때 반복 수행하는 구문입니다.

while 조건 표현:
    참일 때 수행할 표현 (반복 수행할 구문)

다음은 1부터 10까지 정수의 합계를 구하는 논리 전개입니다.

합계(sum)를 0으로 초기화
i를 0으로 초기화
반복 i가 10보다 작거나 같다면
    합계에 i를 더하라
    i를 1증가하라
결과를 확인 

이를 코드로 표현하면 다음처럼 구현할 수 있어요.

[In]
#1부터 10까지 정수의 합계를 구하자.

sum = 0 #sum를 0으로 초기화  
i = 1 #i를 1로 초기화
while i<=10: #반복 i가 10보다 작거나 같다면
  sum += i #sum 에 i를 더하여라
  i += 1#i를 1증가
print("1부터 10까지 정수의 합계:",sum)#결과를 확인
[Out]
1부터 10까지 정수의 합계: 55

만약 사용자가 입력한 정수의 합계를 구한다면 다음과 같은 논리 전개를 할 수 있어요.

합계(sum)를 0으로 초기화
number를 0으로 초기화
반복 number가 음수가 아니라면
    합계에 number를 더하라
    number := 사용자로부터 정수를 입력받는다    
결과를 확인 

이를 코드로 표현하면 다음과 같습니다.

[In]
#사용자가 입력한 정수의 합계를 구하라.
#사용자가 음수를 입력하면 멈춘다.

sum = 0 #sum 를 0으로 초기화
number = 0 #number를 0으로 초기화
while number>=0:#반복 number가 음수가 아니라면
  sum += number #sum에 number를 더하다.
  number = int(input("정수: "))#number = 사용자로부터 정수를 입력받는다.
print("결과: ",sum)#결과를 확인
[Out]
정수: 3
정수: 6
정수: 9
정수: 2
정수: -1
결과:  20

for

for 문은 컬렉션에 있는 요소에 대하여 반복 작업을 수행할 때 사용하는 표현입니다.

for 변수 in 컬렉션:
    반복 수행할 구문

컬렉션은 다음 강의부터 소개할 거예요.

여기에서는 간단하게 while문과 for문을 비교해 볼게요.

다음은 while문을 이용하여 1부터 9까지 출력하는 표현입니다.

[In]
i=0
while i<10:
  print(i,end=' ') #i를 출력 (개행 대신 공백을 출력)
  i+=1
[Out]
0 1 2 3 4 5 6 7 8 9 

다음은 for문을 이용하여 1부터 9까지 출력하는 표현입니다.

range는 특정 구간의 순차적인 수로 구성하는 간단한 컬렉션입니다.

range([start,]stop[,step])은 start에서 (stop-1)까지 step 간격의 시퀀스입니다.

[In]
for i in range(0,10):
  print(i,end=' ')
[Out]
0 1 2 3 4 5 6 7 8 9