Book/자료구조와 함꼐 배우는 알고리즘 입문 - 파이썬

1-2. 반복하는 알고리즘

쟈누이 2021. 3. 31. 12:04
반응형

어떤 조건이 성립하는 동안 반복해서 처리하는 것을 반복구조라고 한다.

 

 

 

1. while 문


  • while 은 실행 전에 반복을 계속할 것인지 판단
  • 이런 구조를 사전 판단 반복 구조 라고한다.
print('1 부터 n 까지 정수의 합을 구합니다')
n = int(input('n 값을 입력하세요 : '))

sum = 0
i = 1

while i <= n:
    sum += i
    i += 1

print(f'1부터 {n} 까지 정수의 합은 {sum} 입니다')
  • 위 구조에서 반복 대상이 되는 명령문을 루프 본문 이라고 한다. 

 

 

 

2. for 문


  • 변수가 하나만 있을 때는 for 문을 사용하는 것이 좋음
  • 범위 안에서의 계산을 할 수 있다. 
print('1 부터 n 까지 정수의 합을 구합니다')
n = int(input('n 값을 입력하세요 : '))

sum = 0
i = 1

for i in range(1, n+1):
    sum += i


print(f'1부터 {n} 까지 정수의 합은 {sum} 입니다')

 

 

 

3. 연속하는 정수의 합을 구하기 위해 값 정렬


1이 아닌 정수 값을 입력받았다면 range( ) 함수에 전달할 시작값과 끝값을 오름차순으로 정렬해야 한다. 

정렬이 맞지 않을경우, 값을 정렬할 경우에는 아래 if 문과 같이 단일 대입문으로 정렬을 해준다. 

print('a 부터 b 까지 정수의 합을 구합니다')
a = int(input('a 값을 입력하세요 : '))
b = int(input('b 값을 입력하세요 : '))

if a > b:
    a, b = b, a
# --> 특정 조건을 가지고 값을 정렬한다 

sum = 0
for i in range(a, b+1):
    sum += i

print(f'{a}부터 {b} 까지 정수의 합은 {sum} 입니다')

 

3-1. 두 값 교환하기

a와 b를 교환할 때 사용한 단일 대입문 a, b = b, a 의 방법이 1차적으로 존재한다.

a, b = b, a

 

반응형