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
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 문제 : 입력 받을 초(sec)를 일시부초로 변환하기 (0) | 2022.11.04 |
---|---|
[파이썬] 문제 : 주소록 만들기 (0) | 2022.11.04 |
[파이썬] 문제 : 입력된 2개 정수를 더하기,곱하기,제곱 하기 (0) | 2022.11.02 |
[파이썬] 문제 : log 스케일 Chart (0) | 2022.11.02 |
[파이썬] 문제 : 두 정수 집합에서 부분집합 파악 (0) | 2022.11.02 |
댓글