Programming/Python

Python Intro - 002 - 대문자 시그마 기호와 파이 기호

The Programmer 2025. 2. 13. 17:53

 

Introduction


[ 중요 ] 초간단 덧셈 표기법과 곱셈 표기법입니다.

수학에서 실제로 사용됩니다.

대문자 시그마, 대문자 파이. 각각의 용도는 :

1부터 n까지 합을 구하라....
1부터 n까지 곱을 구하라...

...입니다. ^.^;

초단축 표현입니다.

i는 시작 수, n은 끝 수.

i와 n이 모두 계산에 포함됩니다. 중요 사항임.

 

Code


덧셈 시그마만 파이썬으로 표기하면,

# 덧셈을 실제로 수행하는 함수 하나를 ..
def mySigma(start, n):
        mySum = 0
        
for i in range(start, n+1):
                mySum = mySum + i
       print(mySum)


# 이 함수를 콜.. 해서 실행합니다.
# 옵션으로 시작 값과 끝 값을 포함해서.

mySigma(1, 100)


'''
실행 결과 : 5050

'''

# 실제 좀 더 다듬어진 전체 코드 :

def mySigma(start, n):
       mySum = 0
       for i in range(start, n+1):
              mySum = mySum + i
       return mySum

def main():
    print(mySigma(1, 100))

main()



핵심 Notes ::

 

파이썬에서는 for i in range(n): 하면 0부터 n-1까지 계산됩니다. n이 포함되지 않습니다. 중요.

range(5) 하면 0부터 시작해서
0, 1, 2, 3, 4 까지 포함됩니다.

i가 이 숫자들을 잠시 기억하는 역할을 합니다.

다음처럼,

for i in range(100):
      ......

이렇게 하면 0부터 시작합니다. 0부터 99까지만 포함됩니다.


☆☆☆☆
그런데, 시작 숫자를 지정할 수 있습니다.

예를 들어, 0부터가 아니라 1부터 100까지 마지막 숫자 100을 포함하려면, range()부분을 다음과 같이 수정해야 합니다. 옵션이 하나가 아니라 2 개입니다.

for i in range(1, 101):
        ......

1부터 100까지 합계 출력, 100도 포함, 100을 n이라고 가정하면, 이것을 그대로 원리를 따지자면, 다음과 같습니다.

for i in range(1, n+1):
         ......

실제로 뭔가를 출력을 해보겠습니다.

for i in range(1, 101):
        print(i)

# 결과 : 1부터 100까지 100줄을 출력합니다.
# 100은 포함. 101은 제외됨.

☆☆☆
range(1, n)은 1부터 시작해서 n-1까지 포함됨.

range(5, 9)라면, 5, 6, 7, 8.

range(7, n)이라면 7, 8, ......, n-1.


☆☆☆
옵션으로 숫자 하나만 주어지면, 다음처럼,

range(12)는 0, 1, 2, 3, ..., 9, 10, 11.

시작 수가 지정되지 않으면 0부터 시작합니다.
주의가 필요합니다.

■ 주요 코드

def mySigma(start, n):
# 위 함수 머리(Header) 부분에 옵션으로 start와 n이 지정되어 있는데, 이 함수 다음에 그 아래에서 이 함수를 호출(Call콜)할 때, start와 n값이 정해집니다.

# 함수 콜은 다음과 같고 :
mySigma(1, 100)

# 이 콜 덕분에 옵션 숫자 순서대로 start는 1,
n은 100으로 결정됩니다.

mySum = 0
# 함수가 시작되면 변수 muSum을 0으로 초기화합니다. for 반복문이 시작되기 전 위치에서 실행합니다.

# 이 부분은 for 반복문 내부에 넣으면 안 됩니다. 그럼 for 반복문이 실행될 때마다 0이 되므로. 의미상 오류.

for i in range(start, n+1):
# for 반복문입니다. start 숫자부터 n까지 처리합니다. n+1은 제외됩니다.

mySum = mySum + i
# i값은 start부터 n까지 반복할 때마다 자동 증가됩니다. for 반복문 내부의 반복 블록은 여기서는 100번 실행됩니다. 실행될 때마다 mySum 결과값은 누적 덧셈이 됩니다.

print(mySum)
# 현재 반복 횟수에서 mySum 누적 합계값을 출력합니다.

mySigma(1, 100)
# mySigma()함수를 호출Call해서 실행합니다. 옵션으로 시작값은 1, 반복 종료값stop값으로는 100을 사용합니다.

# mySigma 함수 내부에 range(start, n+1): 때문에, start가 1, n이 100, range()함수가 의미상 range(1, 101)이 되므로, 결과적으로 1부터 100까지 출력됩니다.


■ return 값

return은 특정 함수 내에서 변수와 함께 사용되어 return 위치에서 그 해당 함수가 종료됨과 동시에 return 변수값을 계산해서 반환합니다. 예제를 살펴봅니다.

def f():
        a = 55
        
return a    
# return 변수. a값이 반환됨

print(
f())


함수 f()return a 값으로 대체됩니다. 그 결과,

print(f())
print(55)와 같습니다.

return a는 'a 변수에 저장된 값을 반환한다'는 뜻입니다.

'반환한다'라는 말이 어렵게 느껴질 수 있습니다. '대신한다', 또는 '대체한다' 정도의 뜻으로 생각할 수 있습니다.

함수f()를 실행하면 함수 자리에 return a의 값으로 대신한다, 대체한다.

return 명령이 호출되면 그 함수는 return 명령이 실행되고 return 값을 반환한 다음 그 위치에서 함수가 종료됩니다. 따라서 해당 함수 내부에 return문장 다음에 있는 명령들은 실행되지 않습니다.

def f():
        a = 55
        b = 33
        return a    
        
# 실행 후 이 위치에서 함수 종료.
        b = 77
    # 이 부분은 실행되지 못함.

b = 77 이 부분은 실행되지 않기에 b= 33이 여전히 유효합니다.

return a 다음 위치에서 함수가 종료되어 버립니다. return a는 실행되고 종료됩니다.

return a + 1처럼 계산 표현식도 허용됩니다. 이 문장까지는 실행되고 끝납니다. 변수 a 값이 55라면 return a + 1은 56. 따라서 56을 반환하고 함수f()가 종료됩니다.

해당 함수 f()만 종료되며 프로그램 전체가 종료되는 것은 아닙니다.

Ref.


Not yet!


Files.


Not yet!


즐거운 프로그래밍!

^.^;