Python2:计算器设计-如何为regex.group位置创建循环?

Python2:计算器设计-如何为regex.group位置创建循环?,python,regex,loops,Python,Regex,Loops,我是编程和Python新手2。。。我的作业是制作一个可以进行多次加法/减法/乘法/除法运算的计算器 例如,如果用户输入3+9-4,我的计算器应该按照3+9-4=12-4=8的顺序计算。(不必显示工作结果,仅限最终结果) 我已经为操作定义了我的功能。我的函数总是两个变量的运算。例如: def addition(x, y): return x + y 所以我也定义了减法、乘法和除法。所有都是2变量-函数 现在我有了我的正则部分。。。我认为我的正则表达式包含了用户重复的操作符号和后面的数字

我是编程和Python新手2。。。我的作业是制作一个可以进行多次加法/减法/乘法/除法运算的计算器

例如,如果用户输入3+9-4,我的计算器应该按照3+9-4=12-4=8的顺序计算。(不必显示工作结果,仅限最终结果)

我已经为操作定义了我的功能。我的函数总是两个变量的运算。例如:

def addition(x, y):
    return x + y
所以我也定义了减法、乘法和除法。所有都是2变量-函数

现在我有了我的正则部分。。。我认为我的正则表达式包含了用户重复的操作符号和后面的数字

num_pattern = r"(-?[\d]+\.?[\d]*) ?(([+\-*/=]) ?(-?[\d]+\.?[\d]*))+"
num_match = re.match(num_pattern, user_input)
接下来我要做的是做一个循环,这样在计算3+9之后,程序将把12放回数字模式,继续做12-4,并给出最终结果

我真的被卡住了

当然,下面的部分不起作用。但只是想表达我的想法…:

handle\u operation
是我的函数,它将所有操作放在一个函数中以便于学习。。。var1是我的第一个变量-->x var2是我的第二个变量-->y。op是我的运算符符号[+-*/]

为什么x+5是因为如果我只有2+3,例如,我返回的字符串将包含组(0)、组(1)、组(2)、组(3)、组(4)-->5项。所以我想如果这个趋势继续下去,我的第一个新项目将是第六个

所以第一个问题:x+=5包含语法错误。。什么不在这里? 第二:我可以在循环中指定字符串的位置吗? 第三:我到底应该怎么做?或者我的模式一开始就不对


谢谢

x+=5
是有效的语法,但是前一行没有右括号。啊!是的,那太愚蠢了。谢谢。:)但是关于循环,如何做呢?或者有更好的方法吗?好的。我觉得这个问题太长了。。。我想一步一步地把它分解。所以第一部分是:num\u pattern=r“([\d]+\.?[\d]*)([+\-/=]+)([\d]+\.?[\d]))+”=>如果用户输入:1+2+3+4,如果我使用.findall,我应该看到那里的所有数字和符号吗?但是结果显示我在列表中只有6项。为什么会这样?