티스토리 뷰

반응형

사칙연산 종류를 선택하고, 사용자로부터 숫자 2개를 입력받아 계산 결과를 출력하는 계산기 프로그램을 3가지 형태로 작성한 코드와 주석을 아래에 제시합니다.

1. 개요

이 프로그램은 사용자로부터 사칙연산 종류를 선택하고, 숫자 2개를 입력받아 계산 결과를 출력하는 간단한 계산기입니다.

2. 3가지 형태의 코드 작성

가. 기본코드

# 사용자로부터 사칙연산 종류를 선택합니다.
print("사칙연산 종류를 선택하세요:")
print("1. 덧셈")
print("2. 뺄셈")
print("3. 곱셈")
print("4. 나눗셈")
choice = input("사칙연산 종류를 선택하세요 (1/2/3/4): ")

# 사용자로부터 숫자 2개를 입력받습니다.
num1 = float(input("첫 번째 숫자를 입력하세요: "))
num2 = float(input("두 번째 숫자를 입력하세요: "))

# 계산 결과를 저장할 변수를 초기화합니다.
result = 0.0

# 선택된 연산에 따라 계산을 수행합니다.
if choice == '1':
    result = num1 + num2
    operator = '+'
elif choice == '2':
    result = num1 - num2
    operator = '-'
elif choice == '3':
    result = num1 * num2
    operator = '*'
elif choice == '4':
    if num2 != 0:  # 0으로 나누는 경우 예외 처리
        result = num1 / num2
        operator = '/'
    else:
        print("오류: 두 번째 숫자는 0이 될 수 없습니다.")
        exit()
else:
    print("올바른 사칙연산 종류를 선택하세요.")
    exit()

# 계산 결과를 출력합니다.
print(f"결과: {num1} {operator} {num2} = {result}")

나. 함수기반 코드

# 계산 함수를 정의합니다.
def calculate(num1, operator, num2):
    result = 0.0
    if operator == '+':
        result = num1 + num2
    elif operator == '-':
        result = num1 - num2
    elif operator == '*':
        result = num1 * num2
    elif operator == '/':
        if num2 != 0:  # 0으로 나누는 경우 예외 처리
            result = num1 / num2
        else:
            return "오류: 두 번째 숫자는 0이 될 수 없습니다."
    else:
        return "오류: 올바른 연산자를 입력하세요."

    return f"결과: {num1} {operator} {num2} = {result}"

# 사용자로부터 사칙연산 종류를 선택합니다.
print("사칙연산 종류를 선택하세요:")
print("1. 덧셈")
print("2. 뺄셈")
print("3. 곱셈")
print("4. 나눗셈")
choice = input("사칙연산 종류를 선택하세요 (1/2/3/4): ")

# 사용자로부터 숫자 2개를 입력받습니다.
num1 = float(input("첫 번째 숫자를 입력하세요: "))
num2 = float(input("두 번째 숫자를 입력하세요: "))

# 선택된 연산에 따라 계산 함수를 호출하고 결과를 출력합니다.
if choice in ['1', '2', '3', '4']:
    operator = {'1': '+', '2': '-', '3': '*', '4': '/'}[choice]
    result_message = calculate(num1, operator, num2)
    print(result_message)
else:
    print("올바른 사칙연산 종류를 선택하세요.")

다. 클래스 기반 코드

# 계산기 클래스를 정의합니다.
class Calculator:
    def __init__(self):
        pass

    # 계산 함수를 정의합니다.
    def calculate(self, num1, operator, num2):
        result = 0.0
        if operator == '+':
            result = num1 + num2
        elif operator == '-':
            result = num1 - num2
        elif operator == '*':
            result = num1 * num2
        elif operator == '/':
            if num2 != 0:  # 0으로 나누는 경우 예외 처리
                result = num1 / num2
            else:
                return "오

류: 두 번째 숫자는 0이 될 수 없습니다."
        else:
            return "오류: 올바른 연산자를 입력하세요."

        return f"결과: {num1} {operator} {num2} = {result}"

# 사용자로부터 사칙연산 종류를 선택합니다.
print("사칙연산 종류를 선택하세요:")
print("1. 덧셈")
print("2. 뺄셈")
print("3. 곱셈")
print("4. 나눗셈")
choice = input("사칙연산 종류를 선택하세요 (1/2/3/4): ")

# 사용자로부터 숫자 2개를 입력받습니다.
num1 = float(input("첫 번째 숫자를 입력하세요: "))
num2 = float(input("두 번째 숫자를 입력하세요: "))

# 계산기 객체를 생성하고 계산 함수를 호출하여 결과를 출력합니다.
calculator = Calculator()
if choice in ['1', '2', '3', '4']:
    operator = {'1': '+', '2': '-', '3': '*', '4': '/'}[choice]
    result_message = calculator.calculate(num1, operator, num2)
    print(result_message)
else:
    print("올바른 사칙연산 종류를 선택하세요.")

위 코드 예제들은 각각 기본 코드, 함수 기반 코드, 클래스 기반 코드로 작성된 간단한 계산기 프로그램을 보여주고 있습니다. 사용자로부터 사칙연산 종류를 선택하고, 숫자 2개를 입력하여 계산 결과를 출력합니다.

반응형