함수 과제

함수 def 사용하여 사칙계산기

과제 :

def cal():
    while True:
        a1 = input("첫 번째 숫자를 입력하세요(종료 q): ")
        if a1 == "q":
            break

        b1 = input("두 번째 숫자를 입력하세요(종료 q): ")
        if b1 == "q":
            break

        o = input("연산자를 선택하세요 (+, -, *, /)(종료 q): ")
        if o == "q":
            break
        try:
            a = float(a1)
            b = float(b1)
        except ValueError:
            print("숫자를 입력하세요!")
            continue

        if o == "+":
            result = a + b
        elif o == "-":
            result = a - b
        elif o == "*":
            result = a * b
        elif o == "/":
            try:
                b == 0
            except ZeroDivisionError:
                print("0으로 나눌수 없습니다")
                continue
            result = a / b
        else:
            if o not in ["+","-","*","/"]:
                print("Invalid operator")
                continue
        print(f"결과: {result}")

cal()

출력 결과

첫 번째 숫자를 입력하세요(종료 q): 10
두 번째 숫자를 입력하세요(종료 q): ㅓ
연산자를 선택하세요 (+, -, *, /)(종료 q): 4
숫자를 입력하세요!
첫 번째 숫자를 입력하세요(종료 q): 10
두 번째 숫자를 입력하세요(종료 q): 0
연산자를 선택하세요 (+, -, *, /)(종료 q): /
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-1-e7af500c3108> in <cell line: 0>()
     38         print(f"결과: {result}")
     39 
---> 40 cal()
     41 

<ipython-input-1-e7af500c3108> in cal()
     31                 print("0으로 나눌수 없습니다")
     32                 continue
---> 33             result = a / b
     34         else:
     35             if o not in ["+","-","*","/"]:

ZeroDivisionError: float division by zero