【发布时间】:2020-04-09 19:18:40
【问题描述】:
def get_token_list(expr):
token_list_initial = expr.split(' ')
token_list=[]
for token in token_list_initial:
if token in '+-/*^()':
token_list.append(token)
elif token == ' ':
continue
elif token in '0123456789':
token=float(token)
token=str(token)
token_list.append(token)
return token_list
运算符和操作数之间可能有空格。 运算符和操作数都必须作为列表中的字符串返回。 操作数必须是浮点数。
例如。
输入:1+2 *3/(4+5)
输出:['1.00', '+', '2.00', '*'......]
我不确定出了什么问题。如果您教我,我将不胜感激。
【问题讨论】:
-
你能有多字符标记吗?如果不是,那么按字符迭代而不是尝试在空格上拆分更有意义。
-
是什么让你觉得它是错了?
标签: python python-3.x token postfix-operator infix-operator