Data_10기

Python 함수 실습

senu 2025. 11. 10. 20:53

오늘은 파이썬 함수에 대해 배운 내용을 실습으로 통해 복습해보았다.


1. 학점 계산 프로그램

첫 번째 예제는 점수를 입력받아 A ~ F 학점으로 구분하는 프로그램이었다.

조건문(if문)을 이용해서 점수 구간에 따라 다른 문자를 출력하도록 구성했다.

def grade(score):
    if score >= 90:
        return "A"
    elif score >= 80:
        return "B"
    elif score >= 70:
        return "C"
    elif score >= 60:
        return "D"
    else:
        return "F"

score = int(input("점수를 입력하세요: "))
print(f"당신의 학점은 {grade(score)}입니다.")

2. 구구단 출력하기

다음은 숫자를 입력받아 해당 단의 구구단을 출력하는 함수를 정의해 보았다.

def gugudan(n):
    for i in range(1,10):
        print(f"{n} x {i} = {n*i}")

 

for 문으로 1 부터 9까지 반복하며 결과를 출력했다. 입력값에 따라 결과가 달라지는 구조라, 함수의 입력값(매개변수)이 어떤 역할을 하는지에 대해 좀 더 이해할 수 있게 된 것 같았다.


3. 리스트 평균 & 최고점 구하기

이번에는 여러 학생의 점수를 입력받아 평균과 최고점을 계산하는 프로그램을 만들어 보았다.

def analyze_scores(scores):
    mean_scores = sum(scores)/len(scores)
    max_scores = max(scores)
    return mean_scores, max_scores

 

리스트로 점수를 받고, 내장 함수인 sum( ), len( ), max( ) 를 활용했다. 입력값이 여러 개일 때는 가변 매개변수(*args)로도 처리할 수 있다는 것도 확인할 수 있었다.


4. 숫자 맞히기 게임

마지막으로 1 부터 10 사이의 숫자를 맞히는 숫자 맞히기 게임을 만들었다. 랜덤으로 정답을 생성하고, 사용자가 맞힐 때까지 반복 입력을 받는 구조를 만들면 되었다.

import random   

def guess_game():
    answer = random.randint(1, 10)   # 얘는 1 ~ 10

    while True:
        guess = int(input())

        # 정답인 조건이 나오면 -> 맞혔습니다. -> 끝내기(break)
        if answer == guess:
            print("맞혔습니다.")
            break
        # 오답인 경우 -> 틀렸습니다. -> 반복
        else:
            print("틀렸습니다.")

 

이 문제에 대해서는 continue 를 사용해서 같은 동작을 구현하는 버전도 만들어보았다. 정답이 아닐 경우 continue 를 이용해 다음 반복으로 넘어가고, 정답일 때만 break 으로 종료되도록 구성하였다.

import random

def guess_game():
    answer = random.randint(1,10)
    while True:
        guess = int(input())
        if answer != guess:
            print("틀렸습니다.")
            continue
        else:
            print("맞혔습니다.")
            break

 

두 코드를 비교해보면서 break 과 continue 가 반복문 안에서 어떻게 다르게 작동하는지 조금은 이해할 수 있게 된 것 같았다. 결과는 같지만, 코드의 흐름을 제어하는 방식이 다르다는 점을 체감할 수 있었다.