파이썬을 이용하여 간단한 텍스트 기반 계산기를 만들어 보겠습니다.
(본 블로그의 내용은 유튜브 동영상(파이썬 텍스트 계산기 만들기)에서 더욱 자세히 보실 수 있습니다.)
인터넷 검색을 통해 텍스트 계산기는 많이 접해보셨을 거라 생각되지만, 이곳에서의 차이점은
단순히 따라해 보는 것만으로도 이해하고, 내것으로 만들 수 있을 거라 생각하며, 그렇게 하기 위해서는
1. 눈으로만 보지 말고 직접 코딩을 쳐본다.
2. 몇 가지 다른 방법으로 변경하면서 다양한 시도를 해본다.
제가 만들기 프로젝트를 설명할때의 순서는
1. 결론부터 보여주고,
2. 세부 기능을 하나씩, 하나씩 설명 + 코딩으로 설명하는 방식을
사용할 예정이니, 잘 따라와 주시기 바랍니다.
아래는 완성된 소스코드입니다.
print("아래 사칙연산을 선택 하세요.")
print("1.더하기\n" \
"2.빼기\n" \
"3.곱하기\n" \
"4.나누기\n" \
)
oper = input("위의 사칙연산 중 하나를 선택해 주세요.(1/2/3/4): \n")
if oper != "1" and oper != "2" and oper != "3" and oper != "4" :
print("1/2/3/4 중 하나를 선택해야 합니다. 올바른 번호를 선택해 주세요\n")
else:
num1 = float(input("첫번째 숫자 입력: "))
num2 = float(input("두번째 숫자 입력: "))
if oper == "1" :
print(num1, "+", num2, "=", num1+num2)
elif oper == "2":
print(num1, "-", num2, "=", num1-num2)
elif oper == "3":
print(num1, "*", num2, "=", num1*num2)
elif oper == "4":
try:
print(num1, "/", num2, "=", num1/num2)
except ZeroDivisionError:
print("0으로 나눌 수 없습니다.")
else:
print("무엇인가 잘못되었습니다. 확인해 보시기 바랍니다.")
소스코드를 실행한 모습니다. 0으로 나누는 예외처리까지 작성한 완성된 코드입니다.
하나씩 소스코드를 잘개 쪼개서 설명드리겠습니다.
아래는 print()문으로 사용법에 대한 설명을 안내하고,
input()문으로 사용자로 부터 숫자를 입력 받은 후 변수(num1, num2)에 저장합니다.
실행 시 3번의 입력 후 에러 없이 실행됨을 알 수 있습니다.
아래는 실제 사칙연산을 수행하기 위한 로직을 if~elif~else 구문을 사용하여 작성하였습니다.
역시 실행해보면 별다른 에러 없이 잘 수행됩니다.
입력 시 예외적인 부분을 처리해 줘야 하는데, 예를 들어 숫자 1~4 외에 만약 5를 입력하는 경우
1~4의 숫자를 입력하도록 안내를 해줘야 합니다.
그래서 맨 아래 else 부분에서 이를 처리해 주었습니다.
또한 깔끔하지 못하게 사용자 만약 5를 입력한 경우 "첫번째 숫자 입력" 과 "두번째 숫자 입력"을 받고 나서야
"1/2/3/4 중 하나를 선택해야 합니다. 올바른 번호를 선택해 주세요" 문구가 뜨는데,
아래와 같이 if~else를 사용하여 1,2,3,4가 아닌 경우 바로 안내문구 출력 후 프로그램이 종료될 수 있도록 처리 하였습니다.
모두 잘 작성 되었지만 한가지 문제점이 있습니다.
바로 0으로 나누는 경우 에러가 발생하기 때문에 예외처리를 해줘야 합니다.
여기서는 try~except 구문을 이용하여 '0'으로 나누는 경우 '0으로 나룰 수 없습니다."라는 안내문구를 출력하도록 개선하였습니다.
try~except 구문을 써도 되고, try~except ZeroDivisionError 구문을 써줘도 상관없습니다.
마지막으로 결과는 동일하나 소스코드를 좀 더 깔끔하게 처리하기 위해서 함수를 이용하여 실행되도록 하였습니다.
이렇게 텍스트 계산기를 작성하는 소스코드를 잘게 쪼개서 실행해 보고 실습을 통해 이해해 보았습니다.
내용 중 이해가 되지 않거나, 더 좋은 방법들이 있다면 댓글로 의견을 주시기 바라며,
내용이 유익하셨다면, 좋아요와 구독 부탁드립니다.
감사합니다.
'파이썬 실습 > 계산기 만들기' 카테고리의 다른 글
파이썬 GUI 계산기 만들기 (0) | 2022.08.08 |
---|