a부터 b까지 정수의 합을 구하는 프로그래밍을 짤 때 이렇게 하면,
|
1
2
3
4
5
6
7
8
9
10
11
12
|
# a부터 b까지 정수의 합 구하기 (for문)
print('a부터 b까지 정수의 합을 구합니다.')
a = int(input('a값을 입력하세요.:'))
b = 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까지 정수의 합을 구합니다.')
a = int(input('a값을 입력하세요.:'))
b = 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인 경우 둘의 값을 교체 해주면 된다.
'배운 것 > Python' 카테고리의 다른 글
| [알고리즘] 새로운 리스트를 생성한 후 원소의 위치(인덱스) 찾기 (0) | 2022.01.25 |
|---|---|
| [기초 문법] 팰린드롬 확인하기 (for 문, list) (0) | 2022.01.21 |
| [기초 문법] 리스트 뒤집기(for 문) (0) | 2022.01.07 |
| [기초 문법] 함수 속 변수 정의 (0) | 2022.01.07 |
| [기초 문법] 중첩 while 문 (구구단 출력) (0) | 2022.01.04 |