본문 바로가기
Programming/파이썬(python)

[스텍_stack] 함수 활용 실습

by 어깨 :) 2023. 5. 25.
728x90

 

-함수로 분할: EnterOp(입력 연산자 처리), CalNum(사칙연산 실시)

-변수: num1 & num2( 입력된 숫자), op(입력된 연산자), rel(사칙연산 중 하나의 결과)

 

 

 

1. 랩터로 설계

 


2. 파이썬으로 구현해 보기

 

1) 함수 입력

def EnterOp(num1, num2):
    op = input("연산자 입력(+,-,*/) : ")

    while op not in ['+', '-', '*', '/']:
        print("연산자 입력 오류! (+,-,*,/) 중 선택")
        op = input("연산자 입력(+,-,*,/) : ")

    rel = Calnum(num1, num2, op)
    return op, rel

def Calnum(num1, num2, op):
    if op == "+":
        rel = num1 + num2
    elif op == "-":
        rel = num1 - num2
    elif op == "*":
        rel = num1 * num2
    elif op == "/":
        if num2 == 0:
            print("0으로 나눌 수 없습니다.")
            return None
        rel = num1 / num2
    return rel

num1 = int(input("숫자1 입력: "))
num2 = int(input("숫자2 입력: "))

op, rel = EnterOp(num1, num2)

if rel is not None:
    print("결과: {0} {1} {2} = {3}".format(num1, op, num2, rel))

해당 코드는 두 개의 숫자를 입력받고, 연산자를 선택하여 두 숫자에 대해 연산을 수행하는 프로그램입니다. 아래는 코드의 동작과정을 자세히 설명한 것입니다:

*EnterOp 함수:

-num1과 num2를 입력받습니다.
-사용자로부터 연산자를 입력받기 위해 op 변수를 선언하고, input 함수를 사용하여 값을 입력받습니다.
-입력된 연산자가 '+', '-', '*', '/' 중 하나가 아닌 경우, 오류 메시지를 출력하고 올바른 연산자를 입력받을 때까지 반복합니다.
-op와 입력된 숫자 num1, num2를 인자로 하여 Calnum 함수를 호출합니다.
-연산자 op와 결과 rel을 반환합니다.

 

*Calnum 함수:

-op 매개변수에 따라 연산을 수행하는 함수입니다.
-op 값이 '+'인 경우, num1과 num2를 더한 결과를 rel에 저장합니다.
-op 값이 '-'인 경우, num1에서 num2를 뺀 결과를 rel에 저장합니다.
-op 값이 '*'인 경우, num1과 num2를 곱한 결과를 rel에 저장합니다.
-op 값이 '/'인 경우, num2가 0인 경우에는 "0으로 나눌 수 없습니다."라는 메시지를 출력하고 None을 반환합니다. 그렇지 않은 경우에는 num1을 num2로 나눈 결과를 rel에 저장합니다.
-rel 값을 반환합니다.

 

*num1과 num2를 입력받습니다.

-EnterOp 함수를 호출하여 연산자와 결과를 반환받습니다.
-rel 값이 None이 아닌 경우에는 결과를 출력합니다. 출력 형식은 "{num1} {op} {num2} = {rel}"입니다.

코드는 사용자로부터 두 개의 숫자와 연산자를 입력받고, 입력된 연산자에 따라 연산을 수행하여 결과를 출력하는 간단한 계산기의 역할을 합니다.

 

 

2) 결과

숫자 1 입력: 50
숫자 2 입력: 20
연산자 입력(+,-,*/) : 50
연산자 입력 오류! (+,-,*,/) 중 선택
연산자 입력(+,-,*,/) : *
결과: 50 * 20 = 1000

728x90