반응형
❤️🔥TIL : Today I Learned❤️🔥
그날그날 내가 공부한 것을 정리하는 것
내일배움캠프 AI트랙 7Day
오늘 배운 내용.
이창호 튜터님 - python 문법 2일차
[과제] 사용자의 입력을 받아 계산기 기능을 구현하기
- main.py 파일에서 사용자의 입력을 받아 기능을 처리해주세요
- 사용자가 입력한 숫자와 연산기호(+, -, *, /)에 따른 연산 결과를 출력해주세요
- 더하기, 곱하기, 빼기, 나누기 기능을 하는 함수는 main.py가 아닌 다른 파일에서 작성해주세요
- 사용자의 입력을 받는 방식은 자유롭게 작성하셔도 무관합니다. 다만, 입력받기 전 사용자가 어떤 방식으로 입력해야 하는지 가이드 출력해주세요
> main.py
내가 짠 계산기는 하나의 문자열로 이루어진 연산식을 입력을 받아 연산을 하는 계산기를 만들고자 했다. 물론 문자열 계산에서 가장 쉬운것은 eval()로 처리할 수 있지만 함수로 쪼개서 만들어 보았다.
입력받은 연산식을 지정된 Operator +,-,*,/ 을 기준으로 앞뒤 숫자를 찾아낸다.
이때 split()을 사용하는데 지정된 여러개의 Operator 중 한 개 이상의 기준문자를 사용하기 위해서 정규표현 re를 import해서 사용했다.
1+2라는 연산식을 ['1','+','2']로 나누고 해당 내용으로 calc.py의 calculation() 함수를 실행시킨다.
import re
from calc import calculation
exp = input("계산이 필요한 간단한 식을 입력해주세요. ")
num1, operator, num2 = re.split('([-|+|*|/])', exp)
result = calculation(int(num1), operator, int(num2))
print(f'결과 : {result}')
> calc.py
def calc(num1, operator, num2):
if operator == '+':
return add(num1, num2)
elif operator == '-':
return subtract(num1, num2)
elif operator == '*':
return multiply(num1, num2)
elif operator == '/':
return divide(num1, num2)
else:
return 'Error!'
def add(num1, num2):
return num1+num2
def subtract(num1, num2):
return num1-num2
def multiply(num1, num2):
return num1*num2
def divide(num1, num2):
return num1 / num2
>> 결과 화면 <<
반응형
'I learned' 카테고리의 다른 글
내일배움캠프 AI - TIL 09 (0) | 2022.09.08 |
---|---|
내일배움캠프 AI - TIL 08 (0) | 2022.09.07 |
내일배움캠프 AI - TIL 06 (0) | 2022.09.05 |
내일배움캠프 AI - WIL 1주차 (1) | 2022.09.02 |
내일배움캠프 AI - TIL 05 (0) | 2022.09.02 |