728x90
반응형
수학에서의 계산방식 중 하나인 Sigma를 계산하는 사용자 정의 함수를 만들어본다
Sigma에 관한 정보는 다음의 링크로 대체한다
https://ko.wikipedia.org/wiki/%EA%B8%89%EC%88%98_(%EC%88%98%ED%95%99)
급수 (수학) - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 수학에서 급수(級數, 영어: series, ∑an)는 수열의 모든 항을 더한 것, 즉 수열의 합이다. 항의 개수가 유한한 유한급수(有限級數, 영어: finite series)와 항의 개수가
ko.wikipedia.org
1) 첫 번째 방식 - for문을 사용
def sigma1(num):
ret = 0
for i in range(num+1):
ret = ret + i
return ret
함수내에서 사용하는 지역변수를 하나 생성한다
생성한 지역변수는 연속된 수열의 합을 저장하고 반환된다
0부터 인자로 들어온 값을 range 함수를 통해 생성하여 반복하여 지역변수에 더한다
10을 넣었을 경우 최종실행 결과는 다음과 같다

2) 두 번째 방식 - Sigma 공식을 적용
def sigma2(num):
return num * (num + 1) // 2
Sigma에 일반 정수를 사용하는 경우의 공식을 사용하여 결과값을 반환한다
첫 번째 방식과 다르게 불필요한 지역변수의 생성과 반복문을 사용하지 않아 효율이 좋다
10을 넣었을 경우 최종실행 결과는 다음과 같다

3) 세 번째 방식 - sum 메서드를 사용
def sigma3(num):
return sum(range(num+1))
마지막으로 sum 메서드를 사용하여 시퀀스형 자료구조의 인덱스를 전부 더하는 방식을 사용한다
첫 번째 방식과 다르게 불필요한 변수를 생성하지 않아도 되지만,
sum 메서드의 내부에서 반복문을 수행하므로 두 번째 방식에 비해서는 효율이 떨어진다
10을 넣었을 경우 최종실행 결과는 다음과 같다

728x90
반응형
'Python > 45가지 파이썬 기초문법 예제' 카테고리의 다른 글
| 파이썬 (18) 전역 변수 (0) | 2025.05.02 |
|---|---|
| 파이썬 (17) 함수 인자 (0) | 2025.05.02 |
| 파이썬 (15) - 딕셔너리 반복문 활용 (0) | 2025.04.27 |
| 파이썬 (14) - 유용한 출력 함수 pprint (0) | 2025.04.21 |
| 파이썬 (13) - Dictionary 데이터 필터링 (0) | 2025.04.18 |