2013-12-16 1 views
1
I 든 다수 수학 input(str) 변환해야

에의 입력분할 작은 단편

예컨대

4-3*2-1+5 = ((((4-3)*2)-1)+5). 

현재 코드는 다음과 같습니다

Answer = input ('Put your answer here: ') 
4-3*2-1+5 

을 어떻게 든, 나는이 왼쪽에서 오른쪽으로 읽도록 작은 조각에있는 문자열을 리메이크하고, 정수로의 숫자를 리메이크 할 필요가 그러나 나는 그것을하는 방법을 모른다.

나는

Answer.split('+','-','*','/') 

일을 시도하지만 그 날 전혀 도움이 경우

TypeError: split() takes at most 2 arguments (4 given)은 또한 볼 수있는 목록에 대한 답변을 추가하는 시도 말한다 : '

li.append(Answer) 
(li = ['4-3*2-1+5'] 

하지만 돈 그걸로 유익한 것을 보지 마라.

도와주세요!

(저는 SOF에 익숙하지 않으므로 누락 된 정보가 있으면 무엇을 말해 주시면 수정 해 보겠습니다.) 당신이 쓸 필요가 무엇

+1

두 번 질문하지 마십시오. 명확한 설명이 필요하면 원래 질문에 언급하십시오. – goncalopp

+0

나는 단지 복제본을 보았습니다./나는 OP가 지금 원하는 것이 무엇인지 확신하지 못했습니다 :) 그는 단순한 문자열 조작을하거나 표현 파서와 평가기를 작성하려고합니까? –

+0

"편집"을 클릭하고 전체 텍스트를 리메이크하는 것이 옳지는 않지만 기본적으로 동일한 문제입니다. 나는 처음으로 질문을하지 못했다. 왜냐하면 나는 프로그래밍에 그다지 신경 쓰지 않기 때문이다. 나는 이것이 더 정확한 abit 인 것처럼 느낀다. – user3106855

답변

0

간단한 표현에 대한 파서 간단한 evaulator입니다.

나는 다음 중 하나를 읽기 시작합니다 :

다른 많은 파서 libraires있다, 그러나 이들은 단지 몇 있습니다.

당신은 또한 당신이 PyPi 페이지를 참조있는 경우 바로 당신이 귀하의 질문에 설명하는지와 같은 간단한 표현 파서와 evaluater을 구현하는 예를 가지고 rply 라이브러리를 사용할 수 있습니다.

+0

코드로 어떻게 작성합니까? 나는 프로그래밍에 익숙하지 않고 전에 파싱을 들어 본 적이 없다. 웹 사이트를 보니 많은 것을 이해하지 못했습니다. : ( – user3106855

+0

프로그래밍의 멋진 세계에 오신 것을 환영합니다!Lexer, Parser, Semantic Analyzer, Compiler, Interpreter 및 Virtual Machine이있는 Python이라는 프로그래밍 언어를 사용하고 있습니다! –

관련 문제