본문 바로가기

2. 파이썬

[모듈 2-4] 인공지능 개발을 위한 파이썬 기초 문법 2 - 함수

여러분 함수하면 무엇이 떠오르나요?

 

 

전 수학시간에 정의역, 치역 어쩌구가 떠오르네요.

 

 

 

사실 코딩에서 함수는

입력과 출력의 일정한 관계를 가지는 시스템을 말합니다.

(물론, 입력도 없고 출력 없이 print만 하는 함수도 많지만요)

 

 

함수의 구조는 함수의 이름과 입력 변수인 parameter로 구성됩니다.

function_name( parameter )

 

 

 

한수의 선언은 def를 사용하여 선언하지요.

def say_hello() :
    print('Hello')

 

 

이렇게 함수를 선언하고 사용해 볼까요?

say_hello()

def say_hello() :
    print('Hello')

 

Q. 왜 안될까요? 어떻게 하면 되게 할까요?

 

 

 

예제1. 덧셈 함수

def jb_sum(x,y) :
    print(x+y)

x = int(input('Input x : '))
y = int(input('Input y : '))
jb_sum(x,y)

 

 

예제2. 리턴값을 가진 덧셈함수

def jb_sum(x,y) :
    z = x + y
    return z

x = int(input('Input x : '))
y = int(input('Input y : '))
print(jb_sum(x,y))

 

Q. 예제1과 예제2는 어떤 차이가 있나요?

 

 

[실전예제] 아래 구조를 활용해서 사칙연산을 수행하는 계산기 프로그램의 기본 구조를 코딩해 보세요.

### 1. 계산기 함수 생성
  # -> 이곳에서 4칙 연산에 대한 함수를 생성해 주세요.
def calculator(x,y, z) :
    if z == 1 :
        result = x + y
        print('**********연산결과**********')
        print(x, ' + ', y ,' = ', result)
        print('**************************')
    return result

### 2. 메인 함수 제어 변수 선언
switch = 1
choice = 0

### 3. 메인 함수 시작
while(switch) :
    ## 선택 변수 초기화
    choice = 1
    ## 연산 정보 받아오기
    x = int(input('Input x : '))
    y = int(input('Input y : '))
    print("연산을 선택해 주세요!\n덧셈 -> 1, 뺄셈 -> 2, 곱셈 ->3, 나눗셈 ->4 ")
    z = int(input('Input 연산종류 : '))

    ## 연산 함수 호출
    calculator(x, y, z)

    ## choice 변수를 통한 프로그램 연장 여부 확인
    while(choice != 'y' and choice != 'n' ) :
        print("연산을 이어 나갈까요? ")
        choice = input('press y or n : ')

    ## 초이스 변수가 n 이면 스위치 변수를 0으로 하여 메인 while 구문 탈출
    if choice == 'n' :
        print(" 계산기 프로그램을 종료 합니다.")
        switch = 0

 

 

<추가예제> 아래 결과값이 나올수 있게 코드 추가하시오.

C:\Users\User\PycharmProjects\pythonProject\venv\Scripts\python.exe C:/Users/User/PycharmProjects/pythonProject/main.py

******** 1 번째 연산입니다. ********
Input x : 1
Input y : 1
연산을 선택해 주세요!
덧셈 -> 1, 뺄셈 -> 2, 곱셈 ->3, 나눗셈 ->4 
Input 연산종류 : 1
**********연산결과**********
1  +  1  =  2
**************************
연산을 이어 나갈까요? 
press y or n : y

******** 2 번째 연산입니다. ********
Input x : 1
Input y : 1
연산을 선택해 주세요!
덧셈 -> 1, 뺄셈 -> 2, 곱셈 ->3, 나눗셈 ->4 
Input 연산종류 : 1
**********연산결과**********
1  +  1  =  2
**************************
연산을 이어 나갈까요? 
press y or n : y

******** 3 번째 연산입니다. ********
Input x : 1
Input y : 1
연산을 선택해 주세요!
덧셈 -> 1, 뺄셈 -> 2, 곱셈 ->3, 나눗셈 ->4 
Input 연산종류 : 1
**********연산결과**********
1  +  1  =  2
**************************
연산을 이어 나갈까요? 
press y or n : n
 계산기 프로그램을 종료 합니다.

Process finished with exit code 0