我做了一个程序,将中缀转换为python中的后缀。问题是当我介绍参数时。 如果我介绍是这样的:(这将是一个字符串)如何在python中分割一个数学表达式的字符串?
((73 + ((34 - 72)/(33 - 3))) + (56 + (95 - 28)))
将它与.split分裂(),程序将正常工作。 但我希望用户能够引进这样的事情:
((73 + ((34- 72)/(33 -3))) + (56 +(95 - 28)))
正如你可以看到我想要的空白,可能是微不足道的,但程序继续分裂用括号,整体串(未位数)和操作数。
我尝试用for
解决它,但我不知道如何捕捉整数(73,34,72)而不是一位数字(7,3,3,4,7,2)
综上所述,我想要的是将一个字符串分解像((81 * 6) /42+ (3-1))
到:
[(, (, 81, *, 6,), /, 42, +, (, 3, -, 1,),)]
你在做什么的词是“标记” - 我用[tag:tokenize]代替了你的[tag:list]标签。 – Eric
正则表达式不适合嵌套括号。 grako是好的,但如果这是你需要做的,可能是重量级的。我喜欢grako,因为你最终得到了可读的代码。 –
感谢这个问题,它帮助我达到了银色的Python徽章! –