DevSSOM

파이썬 기초 - 함수 본문

Python/기초

파이썬 기초 - 함수

데브쏨 2021. 6. 8. 11:03
반응형

함수

: 특정 기능을 수행하는 코드의 모임

 

함수 만들기

1. define(정의하다) 키워드를 이용해서 함수 정의.

2. 매개변수(함수 안에서 사용되는 변수)를 이용해서 함수 내부로 값을 전달.

3. 들여쓰기해서 명령 작성.

4. return을 이용해서 함수 외부로 값을 전달.

def 함수이름(매개변수):
    수행할 명령
    ...
    return 반환값
def plus(a, b):
	c = a + b
    return c
   
print(plus(3, 4))  # 7

 

Q. 왜 반환이 필요할까?

함수 내부에서 일어난 일은 함수 외부에서 알 수 없어.

그래서 반환을 통해 외부로 전달하는 것.

 

 

연습문제 1

1. 함수 plus_print()을 만들어봐.

  • 매개변수 : a, b
  • 함수 안에서 a와 b를 더한 값을 출력.
  • 반환값 없음.

2. 함수 times_return()을 만들어봐.

  • 매개변수 : a, b
  • 반환값 a와 b를 곱한 결과.

3. 함수를 작성한 후, 다음과 같이 출력되도록 코드를 작성해봐.

  • plus_print()으로 숫자 3과 4의 합을 출력.
  • print()와 times_return()으로 숫자 3과 4의 곱을 출력.
def plus_print(a, b):
    print(a + b)

def times_return(a, b):
    return a * b

plus_print(3, 4)  # 7
print(times_return(3,4))  # 12

 

연습문제 2

max()를 사용하지 않고, 어떤 리스트를 인자로 넘겨주면

 리스트의 최댓값을 반환(return) 하는 함수 our_max()를 만들어봐.

# 리스트 nums를 넣었을 때, 최댓값을 반환(return)하는 함수 our_max를 작성해봐
def our_max(nums):
    maxNum = -9999999999  # 변수는 최소값을 가지고 시작해
    for i in nums:        # 각각의 원소에 대해서 "니가 최대값이니?" 하고 비교해보는거야
        if i > maxNum:
            maxNum = i    # 그리고 최대값이면, "지금까지 중에 니가 최대값이야" 라고 i를 갱신해줘
    return maxNum

print(our_max([1, 2, 10, 9, 3, 7, 0, 99, 27, 85]))
# 99

 

연습문제 3

대기시간을 다음의 조건에 맞게 정렬하는 함수 neverland()를 작성해봐.

  • 대기시간이 가장 짧은 놀이기구부터 오름차순으로 놀이기구를 탄다.
  • 단, 인덱스 2에 해당하는 놀이기구는 꼭 타고 싶어하는 놀이기구이기에 대기시간에 상관없이 가장 먼저 탄다.
  • 인자 : 리스트 queue
  • 반환값 : 주어진 조건에 맞게 정렬된 리스트
# 대기시간이 담긴 리스트가 인자로 주어지면 조건을 만족하도록
# 타야하는 대기시간의 순서가 담긴 리스트를 반환하는 함수 neverland()를 작성

queue = [30, 10, 20, 50, 40, 60]

def neverland(queue):
    a = queue.pop(2)
    queue.sort()
    queue.insert(0,a)
    return queue 

print(neverland(queue))   # [20, 10, 30, 40, 50, 60]
728x90
반응형
댓글