티스토리 뷰
반응형
사칙연산 종류를 선택하고, 사용자로부터 숫자 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개를 입력하여 계산 결과를 출력합니다.
반응형