下面的代码如何取消使用分隔符from pythonds.basic.stack import Stack from pythonds.trees.binaryTree import BinaryTree def buildParseTree(fpexp): fplist = fpexp.split() pStack = Stack() eTree = BinaryTree('') pStack.push(eTree) currentTree = eTree for i in fplist: if i == '(': currentTree.insertLeft('') pStack.push(currentTree) currentTree = currentTree.getLeftChild() elif i not in ['+', '-', '*', '/', ')']: currentTree.setRootVal(int(i)) parent = pStack.pop() currentTree = parent elif i in ['+', '-', '*', '/']: currentTree.setRootVal(i) currentTree.insertRight('') pStack.push(currentTree) currentTree = currentTree.getRightChild() elif i == ')': currentTree = pStack.pop() else: raise ValueError return eTree
时间: 2024-02-14 17:35:36 浏览: 394
IE10 Error.stack 让脚本调试更加方便快捷
要取消使用分隔符,只需要将代码中的以下一行:
fplist = fpexp.split()
修改为:
fplist = fpexp
这样就不会将输入表达式按照空格分隔成列表了,而是直接使用原始字符串作为表达式进行处理。这样可以处理不使用空格分隔符的表达式,但需要注意输入表达式中必须使用其他的分隔符(例如逗号或分号)来分隔不同的操作数和运算符。
阅读全文