• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

프로그램에 잘못된 부분이 있습니다.

20.01.08 17:00 작성 조회수 96

1

04 계산기 만들기 두번째 부분에서 19분 28초

영상을 보시면 5 + 10 *20 + 30 을 330이라고 하는 내용이 

나오는데 235가 맞는 답입니다.  * 이나 / 이 연산자 +나 - 보다 연산자 우선순위가 맞습니다. 

따라서 올바른 계산기 프로그램을 만들려면 후위 표기식으로 바꿔서 만들어야 합니다. 

답변 1

답변을 작성해보세요.

4

일단..

콘솔 스마트 계산기 만들기 심플 (파이썬기초, 계산기 로직, 리스트, 반복문, eval 함수)

위 링크의 강좌에서는 5 + 10 * 20 + 30 = 235 가 나오는 단순한 방식의 강좌입니다. 현재 강좌의 이전 강좌인 위의 링크의 강좌를 다시 보시는걸 추천 드리며 부연 설명을 드리면 현재 질문주신 이 강좌의 핵심은 연산자 우선순위에 의해 계산하는 방식이 아니라 사용자에 의해 입력된 순서에 의해 계산을 하는게 목적인 강좌 입니다. 

실제 윈도우 계산기나 핸드폰 계산기 혹은 현실에서 사용하는 물리적 계산기에 

5 + 10 * 20 + 30 을 순서대로 입력하면 330이 나옵니다.

이 강좌의 핵심은 그걸 어떻게 구현하느냐가 목적이지 단지 위 계산식의 결과를 연산자 우선순위에 의해 235라는 결과를 얻기 위함이 절대 아닙니다. 단순 연산자 우선순위를 지켜서 계산하는건 위 링크의 강좌 내용에도 나오지만 eval() 함수 하나면 끝나게 되지만 사용자가 입력한 순서대로 실제 우리가 사용하는 여러 계산기처럼 흉내를 내는게 훨씬 더 복잡한 내용이며 그 내용을 이해하는데 목적을 두고 있는 강좌입니다. 참고가 되셨으면 좋겠습니다.