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