본문 바로가기
프로그램

[파이썬] 문제 : 계산기 만들기

by 오디세이99 2022. 11. 4.
728x90
반응형
op = ['+','-','*','/']                  # 계산기 종류 문자 등록

while True:                            # 무한 반복
    ss = input('계산 입력 (예: 4+3 or 4-3 or 4*4 or 4/2, q=종료) : ')    # 입력 받기
    
    if ss == 'q':                              # 입력이 q 면 종료
        print('종료 합니다.')
        break                                  # while 무한 반복에서 빠져 나감

    idx = -1                                   # 연산 종류 파악 변수
    for i in range(4):                         # 연산 종류 찾기 위해 반복
        pos =  ss.find(op[i])                  # 연산 문자를 입력된 문자열에서 찾음. 찾으면 해단 위치가 pos 변수에 받아짐
        if pos > 0:                            # 연산 문자를 찾으면
            idx = i                            # 연잔 종류를 저장
            break                             # for 문에서 빠져 나감
    
    if idx == 0:  # +
        lst = ss.split(op[idx])                # 연산 문자로(+,-,*,/) 입력 문자열을 분리. 그러면 ['4','3']과 같이 됨
        result = int(lst[0]) + int(lst[1])     # 해당 연산으로 계산
    elif idx == 1:  # -
        lst = ss.split(op[idx])
        result = int(lst[0]) - int(lst[1])
    elif idx == 2:  # *
        lst = ss.split(op[idx])
        result = int(lst[0]) * int(lst[1])
    elif idx == 3:  # /
        lst = ss.split(op[idx])
        result = int(lst[0]) / int(lst[1])

    print(f"{ss} = {result}")                  # 출력

 

728x90
반응형

댓글