다른 블로그들은 연산자를 선택하여 계산을 하는 계산기가 거의 대부분이더라고요!
그래서 저는 나누기 곱하기 더하기 빼기가 섞인 연산을 할 수 있는 코드 작성을 해보려고 합니다!!
파이썬 백준 입력 조건 이해하기 / 사칙연산, 계산기
오늘은 백준에서 문제를 풀고 나름대로 코드를 작성해서 입력을 했는데도.. 계속 런타임에러나 컴파일 에러가 나오는 분들에게 도움이 되고자!! 제가 이해한 내용을 포스팅합니다~ 먼저, 가장
irunstudy.tistory.com
문제 : 사용자에게 입력받은 사칙연산하는 계산기를 만드시오.
입력 : cal1 = input() # "5*7+10/2-2"
먼저, 문제에서 사용자에게 입력받은 값의 type은 문자열로 받기에 이를 이해해야합니다.
잘 살펴보면 저희는 숫자를 가지고 규칙이 있는 코드를 작성할 수 없기에 +,-,*,/를 기준으로 문자열을 이용해야하는 것을 알 수 있습니다! 만약 자릿수가 다르게 입력되어도 코드가 실행되어야하기에 이를 고려해주어야합니다.
cal1 = cal1.replace('+',' + ').replace('-',' - ').replace('*',' * ').replace('/',' / ')
cal1 = cal1.split(' ')
cal1_list = []
저는 연산자를 포함해서 모든 값을 리스트에 넣고 싶었습니다. 그럴려면 각 연산자를 기준으로 일일이 다 나누어주는 방법과 특정 문자 또는 공백을 연산자 앞뒤에 넣어 스플릿함수를 사용하면 될 것 같았습니다!
그래서 각 연산자 앞뒤로 공백을 넣어주고, 이후 이를 공백 기준으로 잘라서 리스트 형태로 cal1에 저장했습니다.
이후로 고려해야 할 것은 곱하기 나누기를 먼저한 이후 더하기 빼기를 계산해야하므로 곱하기 나누기 앞뒤의 숫자를 먼저 계산해주고! 마지막 자리에 넣어주고 더하기 빼기를 다른 리스트를 생성해서 연산자와 더해줍니다!!
"5 * 7 + 10 / 2 - 2" 에서 곱하기를 한 후
"35 + 10 / 2 - 2"에서 나누기를 계산하고
"35 + 5 - 2"로 계산이 되고 이후 차례로 계산하는 코드를 작성할 것 입니다.
마지막으로 cal1_list에 있는 더하기 빼기를 계산해주면 사칙연산 계산기 코드 작성 완료!!
'이전 > 데이터 분석 공부' 카테고리의 다른 글
누구나 이해할 수 있는 머신러닝(ML)과 이를 활용한 티칭머신 (0) | 2022.12.23 |
---|---|
for문 파이썬과 c언어의 차이 / 구구단 (0) | 2022.08.09 |
파이썬 백준 입력 조건 이해하기 / 사칙연산, 계산기 (0) | 2022.08.02 |
파이썬[Python] 비주얼 스튜디오[vscode] (0) | 2022.07.19 |
파이썬[Python] 아나콘다[Anaconda] 설치 순서 (0) | 2022.07.17 |