Hugh_휴 님의 블로그

파이썬 함수 연습(문제 포함)(난이도 0-3) 본문

실습 연습

파이썬 함수 연습(문제 포함)(난이도 0-3)

Hugh_휴 2026. 4. 9. 20:00

오늘 파이썬 함수를 배웠다. 자판기 만들기를 했었는데 잘 안된다.

오늘 배운 함수를 직접 코드 짜보는 연습을 해보려고 한다.

문제는 제미나이가 생성해주었고, 자격증 공부 때문에 오늘은 이 정도만 복습하려고 한다.

난이도 총 8000까지 있다면 겨우 0-3정도만 연습했다.

 

-------연습(난이도0)------------

 

<문제1>

기준:

  1. 함수 이름은 double로 만드세요.
  2. 재료(매개변수)는 숫자 하나(n)를 받습니다.
  3. 함수 안에서 n * 2를 계산해서 돌려줍니다(return).
#함수 이름은 double로 만드세요.
#재료(매개변수)는 숫자 하나(n)를 받습니다.
#함수 안에서 n * 2를 계산해서 돌려줍니다(return).

def double(n):
    result = n*2
    return
print(double(10))

아 정말 간단한 문제일텐데 여기서부터 막힌다..

 

#함수 이름은 double로 만드세요.
#재료(매개변수)는 숫자 하나(n)를 받습니다.
#함수 안에서 n * 2를 계산해서 돌려줍니다(return).

def double(n):
    return n*2
print(double(10))

아 정말.. 껌이다. 문제 몇개 더 풀어보자.

 

<문제2>

기준:

  1. 함수 이름은 hello로 만드세요.
  2. 재료(매개변수)는 이름(name) 하나를 받습니다.
  3. 함수 안에서 "안녕, " + name을 계산해서 돌려주세요(return).
  4. print(hello("파이썬"))을 실행했을 때 안녕, 파이썬이 출력되면 성공!
#함수 이름은 `hello`로 만드세요.
#재료(매개변수)는 이름(`name`) 하나를 받습니다.
#함수 안에서 `"안녕, " + name`을 계산해서 돌려주세요(`return`).
#print(hello("파이썬"))`을 실행했을 때 **`안녕, 파이썬`*이 출력되면 성공!

def hello(name):
    return ('안녕' + name)

print(hello("파이썬"))

그래, 반갑다 파이썬.

 

<문제3>

기준:

  1. 함수 이름: combine
  2. 매개변수: word1, word2 (두 개를 받습니다)
  3. 함수 내용: 두 단어 사이에 한 칸 공백(" ")을 넣어 합친 결과를 돌려줍니다.
  4. 확인용: print(combine("파이썬", "최고")) -> 결과: 파이썬 최고
#1. 함수 이름: `combine`
#2. 매개변수: `word1`, `word2` (두 개를 받습니다)
#3. 함수 내용: 두 단어 사이에 한 칸 공백(" ")을 넣어 합친 결과를 돌려줍니다.
#4. **확인용:** `print(combine("파이썬", "최고"))` -> 결과: `파이썬 최고`


def combine(word1, word2):
    return word1+ " "+ word2

print(combine("파이썬", "최고"))

맞아 너 최고야.

 

------------연습(난이도1)--------------

<문제4>

기준:

  1. 함수 이름: is_pass
  2. 매개변수: score (숫자 하나)
  3. 함수 내용:
    • 만약 score가 60 이상이면 "합격"을 return 하세요.
    • 그게 아니면(else) "불합격"을 return 하세요.
  4. 확인용: print(is_pass(80)) -> 결과: 합격
#1. 함수 이름: `is_pass`
#2. 매개변수: `score` (숫자 하나)
#3. 함수 내용:
    #- 만약 `score`가 60 이상이면 `"합격"`을 `return` 하세요.
    #- 그게 아니면(`else`) `"불합격"`을 `return` 하세요.
#4. **확인용:** `print(is_pass(80))` -> 결과: `합격`


def is_pass(score):
    if score >= 60:    
        return '합격'
    else:
        return '불합격'
print(is_pass(80))

좋아, 합격!

 

<문제5>

기준:

  1. 함수 이름: get_max
  2. 매개변수: num1, num2 (두 개를 받습니다)
  3. 함수 내용:
    • 두 수 중에서 더 큰 값을 찾아서 그 숫자를 return 하세요.
    • (힌트: if num1 > num2: 를 사용해 보세요!)
  4. 확인용: print(get_max(10, 25)) -> 결과: 25
#1. 함수 이름: `get_max`
#2. 매개변수: `num1`, `num2` (두 개를 받습니다)
#3. 함수 내용:
#    - 두 수 중에서 더 큰 값을 찾아서 그 **숫자**를 `return` 하세요.
#    - (힌트: `if num1 > num2:` 를 사용해 보세요!)
#4. **확인용:** `print(get_max(10, 25))` -> 결과: `25`



def get_max(num1, num2):
    if num1 > num2:
        return num1
    elif num1 < num2:
        return num2
    else:
        return num1 == num2

print(get_max(10, 25))

오케이~

 

-----------연습(난이도1.5)---------------

<문제6>

기준:

  1. 함수 이름: can_ride
  2. 매개변수: age, height (두 개를 받습니다)
  3. 함수 내용:
    • 나이가 8세 이상이고, 키가 120cm 이상이면 "입장 가능"을 return 하세요.
    • 둘 중 하나라도 충족하지 못하면 "입장 불가"를 return 하세요.
    • (힌트: 두 조건을 모두 만족해야 할 때는 and를 사용하세요.)
  4. 확인용: print(can_ride(10, 130)) -> 결과: 입장 가능
#1. 함수 이름: `can_ride`
#2. 매개변수: `age`, `height` (두 개를 받습니다)
#3. 함수 내용:
#    - 나이가 **8세 이상**이고, 키가 **120cm 이상**이면 `"입장 가능"`을 `return` 하세요.
#    - 둘 중 하나라도 충족하지 못하면 `"입장 불가"`를 `return` 하세요.
#    - (힌트: 두 조건을 모두 만족해야 할 때는 `and`를 사용하세요.)
#4. **확인용:** `print(can_ride(10, 130))` -> 결과: `입장 가능`


def can_ride(age, height):
    if age >= 8 and height >=120:
        return "입장 가능"
    else:
        return "입장 불가"
    
print(can_ride(10, 130))

좋아써!

 

<문제7>

기준:

  1. 함수 이름: check_odd_even
  2. 매개변수: num (숫자 하나)
  3. 함수 내용:
    • 숫자를 2로 나누었을 때 나머지가 0이면 "짝수"를 return 하세요.
    • 아니면 "홀수"를 return 하세요.
    • (힌트: 나머지를 구하는 기호는 %입니다. 예: num % 2 == 0)
  4. 확인용: print(check_odd_even(7)) -> 결과: 홀수
#1. 함수 이름: `check_odd_even`
#2. 매개변수: `num` (숫자 하나)
#3. 함수 내용:
#    - 숫자를 2로 나누었을 때 나머지가 0이면 `"짝수"`를 `return` 하세요.
#    - 아니면 `"홀수"`를 `return` 하세요.
#    - (힌트: 나머지를 구하는 기호는 `%`입니다. 예: `num % 2 == 0`)
#4. **확인용:** `print(check_odd_even(7))` -> 결과: `홀수`


def check_odd_even(num):
    if num%2 == 0:
        return '짝수'
    else:
        return '홀수'

print(check_odd_even(7))

 

--------------연습(난이도3)--------------

#기준:
#함수 이름: check_alcohol
#매개변수: age(나이), money(가진 돈), price(상품 가격) 세 개를 받습니다.
#함수 내용 (아래 조건 순서대로 체크하세요):
#조건 1: 만약 age가 19세 미만이면, 돈이 얼마든 상관없이 "미성년자 구매 불가"를 return 하세요.
#조건 2: 나이가 19세 이상인데, 만약 money가 price보다 적다면 "잔액 부족"을 return 하세요.
#조건 3: 위 두 조건에 해당하지 않으면(나이도 성인이고 돈도 충분하면), 계산 후 남은 **거스름돈(숫자)**을 return 하세요.

#확인용:
#print(check_alcohol(17, 10000, 5000)) -> 결과: 미성년자 구매 불가
#print(check_alcohol(25, 3000, 5000)) -> 결과: 잔액 부족
#print(check_alcohol(22, 10000, 4000)) -> 결과: 6000

def check_alcohol(age, money, price):
    if age < 19:
        return "미성년자 구매 불가"
    
    elif age >= 19 and money < price:
        return "잔액 부족"
    
    else:
        return price - money
    
print(check_alcohol(17, 10000, 5000))
print(check_alcohol(25, 3000, 5000))
print(check_alcohol(22, 10000, 4000))

 

반복해서 하다 보니 자연스럽게 익숙해진다.

문제는 제미나이가 생성해주었고, 자격증 공부 때문에 오늘은 이 정도만 복습하려고 한다.