디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[📚정보] 파이썬 계산기(4): 후위표기식과 계산방법

신촌우왕87갤로그로 이동합니다. 2022.05.21 15:40:29
조회 143 추천 2 댓글 0
														



신촌우왕 소개


수학자, 작곡가, 요가수행자





파이썬 계산기 프로젝트(4)

-POSTFIX NOTATION


사용자가

s = "2+3"과 같은 수식문자열을 입력하면

연산자(+)가 두 피연산자 2와 3 사이의 중간에 위치해 있다.


이것을 중위표기식(INFIX NOTATION)이라 한다.

그러나 계산기 프로그램을 만들 때는

후위표기식(POSTFIX NOTATION)이 필요하다.


후위표기식은 연산자를 피연산자 뒤 쪽에 위치시킨다.

2 + 3 대신 2 3 +를 필요로 한다.


이를테면 2 + 3 * 5의 경우

연산자 우선순위를 고려하면

2 + (3 * 5)를 계산해야 하며

후위표기식으로는 2 (3 * 5) +이며 괄호 안에 대해서도 후위표기식으로 바꾸면 2 (3 5 *) +이다.

후위표기식은 괄호가 필요없으므로 괄호를 제거하면 최종 후위표기식은 2 3 5 * +이다.


즉 중위표기식 '2 + 3 * 5'가 후위표기식 '2 3 5 * +'로 바뀐 것이다.


이러한 후위표기식을 리스트에 넣으면 다음과 같게 될 것이다.

['2', '3', '5', '*', '+']






후위 표기식의 계산


리스트에 들어있는

후위표기식 ['2', '3', '5', '*', '+']의 경우

앞에서부터 차례 차례 꺼내는데

연산자를 꺼내게 되면 계산을 해주어야 한다.


먼저 '2'를 꺼내면: '2'

'3'을 꺼내면: '2', '3'

'5'를 꺼내면: '2', '3', '5'

'*'를 꺼내면: '2', '3', '5', '*'


그런데 '*'는 이항연산자이므로

이전에 있는 두 숫자 '3'과 '5'를 가지고 곱셈(*)을 해주면 '15'이므로

꺼내진 상황: '2', '15'


마지막으로 '+'를 꺼내면: '2', '15', '+'

그런데 '+'는 이항연산자이므로

이전에 있는 두 숫자 '2'와 '15'를 가지고 덧셈(+)을 해주면 '17'

꺼내진 상황: '17'


더 이상 꺼낼 요소가 없으므로

결국 수식문자열 '2+3*5'를 계산해주면

답은 '17'이 된다.





추천 비추천

2

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
- 설문 영포티룩도 멋지게 소화할 것 같은 40대 스타는? 운영자 25/10/27 - -
- AD 할로윈 슈퍼위크~!! 운영자 25/10/23 - -
1678 🔎질문 라즈베리파이 파이썬 코드 자동실행 어떻게 하죠 [1] ㅇㅇ(49.164) 22.05.30 196 0
1677 🔎질문 파이썬 과외 좀 받고 싶은데 [2] ㅇㅇ(115.91) 22.05.30 184 0
1676 🔎질문 뉴비 대학 과제 질문입니다!! [2] ㅇㅇ(168.188) 22.05.30 190 0
1675 🔎질문 cp949 오류 대체 어케 해결함? [2] ㅇㅇ(203.252) 22.05.30 160 0
1673 💡답변 3d 플롯 [1] ㅇㅇ(118.45) 22.05.29 123 0
1670 💡답변 뭔가 미묘하게 다른데 [9] ㅇㅇ(118.45) 22.05.29 181 0
1669 🔎질문 파이썬 비선형 회귀분석식 구하기 [4] ㅇㅇ(221.153) 22.05.29 257 0
1668 🔎질문 can't convert expression to float 이거 [2] ㅇㅇ(125.133) 22.05.29 106 0
1665 일반 캐글 무료 코스 강의 재밌노 ㅁㅁㅁㅁㅁ(223.38) 22.05.28 159 0
1664 🔎질문 리스트 튜플 질문 [7] ㅇㅇ(175.203) 22.05.28 130 0
1663 🔎질문 셀레니움으로 크롤링하는데 메모리가 계속 증가하는데 방법 없을까 [1] 셀레니움(211.36) 22.05.27 161 0
1662 일반 뻘글싸기 최적의 타이밍 [3] 키메라(117.111) 22.05.27 140 0
1661 🔎질문 파이썬 bytes 변환 관련 질문 드립니다. [3] ㅇㅇㅇ(112.144) 22.05.26 126 0
1660 🔎질문 라즈베리코드 한번 도와주세요 부탁드립니다. [2] ㅇㅇ(49.164) 22.05.26 137 0
1658 🔎질문 형님들 [2] ㄴㅁㅎ(211.251) 22.05.26 110 0
1654 일반 아니 가르쳐주니까 글삭튀하는 새낀 뭐하는 새끼노 [2] ㅁㅁㅁㅁㅁ(223.38) 22.05.25 157 2
1653 일반 로또 사는게 돈 아까워서 파이썬 배운걸로 로또놀이 만들어봤어요 [5] ㅇㅇ(218.39) 22.05.25 200 3
1650 🔎질문 tkinter PhotoImage 질문있습니다!! [1] ㅇㅇ(180.69) 22.05.25 91 0
1649 📚정보 인공지능(1): CNN(합성곱 신경망)에서 출력 크기 신촌우왕87갤로그로 이동합니다. 22.05.25 220 2
1648 🔎질문 안녕하세요 파린이 궁금한거있어서 여쭤봅니다. [5] sadfg(168.131) 22.05.25 139 0
1647 🔎질문 재시작버튼 활성화좀 도와주세요 [3] ㅇㅇ(112.216) 22.05.24 127 0
1644 🔎질문 오류 질문드립니다 ㅠㅠ [2] ㅇㅇ(182.230) 22.05.24 108 0
1643 🔎질문 변수 3개일때 잘보는법 없노? [3] 키메라(112.148) 22.05.23 162 0
1642 🔎질문 Unpacking Operator, *가 어떻게 동작한건지 모르겠음 ㅇㅇ(220.121) 22.05.23 118 0
1641 🔎질문 파이썬 개씹고수형님들 도와주세요 [5] ㅇㅇ(1.247) 22.05.23 171 0
1637 🔎질문 다시올려요옷 [2] ㅇㅇ(118.37) 22.05.22 159 0
1636 🔎질문 이거왜안됨 [2] ㅇㅇ(121.141) 22.05.22 120 0
1634 🔎질문 파이썬 곳수들 질문좀 [2] ㅇㅇ(156.146) 22.05.22 128 0
1633 🔎질문 파이썬 input 질문 [3] oo(39.127) 22.05.22 120 0
1632 🔎질문 파이썬 ㅈ 고수형님들 질문좀 [3] ㅇㅇ(1.247) 22.05.22 144 0
1630 💡답변 백단위수 중복 제거 신촌우왕87갤로그로 이동합니다. 22.05.22 142 0
1629 🔎질문 뉴비 파이썬 코드 질문입니다!! [2] ㅇㅇ(180.69) 22.05.21 133 0
1628 🔎질문 파이썬 함수 질문입니다 [2] ㅇㅇ(58.104) 22.05.21 134 0
1627 🔎질문 아래 백단위수 중복 제거 답변 [1] ㅇㅇ(58.124) 22.05.21 125 0
1626 🔎질문 도와주세요!!! [1] 응애(58.126) 22.05.21 130 0
1625 🔎질문 pygame 질문있어요 [2] ㅇㅇ(122.35) 22.05.21 151 0
1624 🔎질문 뉴비 진짜 마지막으로 한번만 더 도와주실분...?? [9] ㅇㅇ(223.38) 22.05.21 165 0
📚정보 파이썬 계산기(4): 후위표기식과 계산방법 신촌우왕87갤로그로 이동합니다. 22.05.21 143 2
1622 🔎질문 해결부탁드립니다..!ㅜㅜ [1] 2(125.191) 22.05.21 186 0
1621 🔎질문 질문 [13] ㅇㅇ(1.177) 22.05.21 161 0
1620 🔎질문 [모듈에러] for 관련 질문 [5] 개밥도둑(112.147) 22.05.20 156 0
1619 🔎질문 뉴비 한번만 더 도와주실분 [1] ㅇㅇ(180.69) 22.05.20 137 0
1618 📚정보 파이썬 계산기(3): 토큰 리스트 리턴 신촌우왕87갤로그로 이동합니다. 22.05.20 109 1
1617 🔎질문 궁금합니다 [4] ㅇㅇ(58.126) 22.05.20 107 0
1616 🔎질문 늅이 대학 과제 도와주세여... [5] ㅇㅇ(180.69) 22.05.20 213 0
1609 🔎질문 요소 찾기 도움좀 주세요 ㅠㅠㅠㅠ [2] 미침(121.168) 22.05.19 122 0
1608 일반 프로그래밍 유튜브 신기한점 [3] 키메라(112.148) 22.05.18 295 0
1604 🔎질문 딕셔너리 나 리스트 인서트 할때 [4] ㅇㅇㅇㅇㅇ(114.206) 22.05.18 126 0
1603 🔎질문 파이썬 갤러리가 프갤다음아님? [2] ㅇㅇ(1.247) 22.05.18 177 0
1602 💡답변 답변 [3] Coma갤로그로 이동합니다. 22.05.17 162 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2