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
반응형
'프로그램' 카테고리의 다른 글
| [파이썬] 문제 : 계산기 클래스 만들기 (0) | 2022.12.03 |
|---|---|
| [파이썬] 문제 : 한글단어에 대한 영어단어 맞추기 게임 (0) | 2022.12.03 |
| [파이썬] 문제 : 2개의 리스트에서 공통 요소 추출 (0) | 2022.12.03 |
| [파이썬] 문제 : 터틀 방향과 이동거리 입력 받아 그리기 (0) | 2022.12.03 |
| [파이썬] 문제 : 입력한 이름으로 직업 찾기 (0) | 2022.12.03 |
댓글