首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将输入拆分成更小的片段

将输入拆分成更小的片段
EN

Stack Overflow用户
提问于 2013-12-16 19:57:33
回答 1查看 77关注 0票数 1

我需要以某种方式将数学input(str)转换为数字,

例如:

代码语言:javascript
运行
复制
4-3*2-1+5 = ((((4-3)*2)-1)+5).

当前代码如下所示:

代码语言:javascript
运行
复制
Answer = input ('Put your answer here: ')
4-3*2-1+5

不知何故,我需要将字符串重新生成更小的片段,以便从左到右读取,并将数字重新生成整数,但我不知道如何做到这一点。

我试着去做

代码语言:javascript
运行
复制
Answer.split('+','-','*','/')

但上面写着TypeError: split() takes at most 2 arguments (4 given)

我还尝试将答案添加到列表中,看看这是否对我有帮助:

代码语言:javascript
运行
复制
li.append(Answer)
(li = ['4-3*2-1+5']

但我看不出有什么好处..

请帮帮我!

(我是SOF的新手,所以如果有任何信息丢失,请告诉我,我会尝试纠正它)。

EN

回答 1

Stack Overflow用户

发布于 2013-12-16 20:00:26

您需要编写的是用于简单表达式的解析器和简单赋值器

我会开始阅读以下任何一篇文章:

  • http://pyparsing.wikispaces.com/HowToUsePyparsing
  • http://pyparsing.wikispaces.com/Examples
  • http://kmkeen.com/funcparserlib/

还有许多其他的解析器库,但这些只是其中的一小部分。

您也可以只使用rply库,如果您查看PyPi页面,就会发现它有一个示例,可以直接实现简单的表达式解析器和计算器,就像您在问题中描述的那样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20610398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档