본문 바로가기
프로그램

[파이썬] 문제 : 사칙연산

by 오디세이99 2024. 5. 15.
728x90
반응형

while True:                     # 반복 1) 사칙연산 잘 못 입력시 반복을 위한 반복
    n = input('1)덧셈 2)뺄셈 3)곱셈 4)나눗셈\n어떤 연산을 원하는지 번호를 입력하세요: ')   # 문자열로 입력 받음
    if n not in ['1','2','3','4']:                   # 1,2,3,4가 아니면. in과 []로 1,2,3,4인지 판별
        print('잘 못 입력하였습니다.')                # 사칙연산 번호가 잘 못 입력되었으면 while 반복문에 의해서 다시 입력 받게 됨
    else:                                            # 사칙연산 선택이 잘 되었으면
        n = int(n)                                   # 사칙연산은 정수로 변환
        while True:             # 반복 2) 계산 할 2개 정수 입력 받기시 숫자가 아니면 입력 다시 할 반복문
            a, b = input('연산을 원하는 숫자 두개를 입력하세요 : ').split(' ')    # 2개의 입력 받아서 split()으로 분리해 2개 정수로 분리 함
            if a.isdigit() and b.isdigit():
                break                                # 2개 정수가 숫자면 다시 입력 받지 않도록 '반복 2'를 빠져나감
            else:
                print('잘 못 입력하였습니다.')
        a = int(a)                                    # 정수로 변환
        b = int(b)
        if n == 1:                                    # 더하기
            print(f"{a} + {b} = {a+b}")
        elif n == 2:                                   # 빼기
            print(f"{a} - {b} = {a-b}")
        elif n == 3:                                   # 곱하기
            print(f"{a} * {b} = {a*b}")
        elif n == 4:                                    # 나누기
            print(f"{a} / {b} = {a/b}")
        break                                         # 사칙연산 '반복 1' 빠져나감

728x90
반응형

댓글