배운 것/Python

[기초 문법] a부터 b까지 정수의 합 구하기(for 문)

MOR1ATY 2022. 1. 11. 17:09

 

a부터 b까지 정수의 합을 구하는 프로그래밍을 짤 때 이렇게 하면,

 

1
2
3
4
5
6
7
8
9
10
11
12
# a부터 b까지 정수의 합 구하기 (for문)
 
print('a부터 b까지 정수의 합을 구합니다.')
= int(input('a값을 입력하세요.:'))
= int(input('b값을 입력하세요.:'))
 
sum = 0
for i in range(a, b + 1) :
    sum += i
 
print(f'{a}부터 {b}까지 정수의 합은 {sum}입니다.')
 
cs

 

다음과 같이

 

a가 b보다 클 때(a>b)의 경우 제대로 된 값을 출력하지 못한다. 문제가 'a부터 b까지' 정수의 합을 구하는 것이어서 자연스럽게 모든 경우에 a가 b보다 작을 것(a<b)이라고만 생각했기 때문이다. 이를 해결하기 위해서는 다음과 같이,

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# a부터 b까지 정수의 합 구하기 (for문) - 개선
 
print('a부터 b까지 정수의 합을 구합니다.')
= int(input('a값을 입력하세요.:'))
= int(input('b값을 입력하세요.:'))
 
if a > b :
    a, b = b, a # a > b 인 경우 둘의 값을 교체
    
sum = 0
for i in range(a, b + 1) :
    sum += i
 
print(f'{a}부터 {b}까지 정수의 합은 {sum}입니다.')
 
cs

 

if 조건문을 이용해 a>b인 경우 둘의 값을 교체 해주면 된다.