直接上代码:
import re
def checkS(s):
# 对字符串进行简单的处理,比如处理“-”符号的问题
digitals = re.findall("[0-9.]+", s)
operater = re.findall("[-+*/]+", s)
for i in range(len(operater)):
if len(operater[i])>1:
# print(operater[i],i)
digitals[i+1]=operater[i][1]+digitals[i+1]
operater[i]=list(operater[i])[0]
return digitals, operater
def getSimpleValue(s):
# 计算简单字符串的值,并返回(加减乘除不带括号)
digitals, operater = checkS(s)
needdelete = []
print("开始:",digitals, operater)
if len(digitals) == len(operater):
digitals[0]=operater[0]+digitals[0]
operater.__delitem__(0)
while True:
for i in range(len(operater)):
if operater[i] == "*":
value1 = float(digitals[i]) * float(digitals[i+1])