用python编写加减乘除计算器_python实现加减乘除计算器

  • Post author:
  • Post category:python


需求:

实现加减乘除及拓号优先级解析

用户输入 1 – 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) – (-4*3)/ (16-3*2) )等类似公式后,必须自己解析里面的(),+,-,*,/符号和公式

注意:不能调用eval等类似功能偷懒实现

分割线:

# -*- coding: utf-8 -*-

# @Time : 2018/10/26 22:00

# @Author : 赵伟江

importre

my_count =’1 – 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) – (-4*3)/ (16-3*2) )’

my_count = re.sub(“\ “,””,my_count)#去除字符串中所有空格

# print(my_count)

bracket = re.compile(“\(([^()]+)\)”)#选出最内部的括号

mul_sub = re.compile(“(-?\d+)(\.\d+)?(\*-)(\d+)(\.\d+)?”)#选出 a*(-b)

dev_sub = re.compile(“(-?\d+)(\.\d+)?(/-)(\d+)(\.\d+)?”)#选出 a/(-b)

defadd_sub(arg):

”’

将+ – 变 – ,将 – – 变 +

:paramarg:

: