基于re模块的计算器


计算器开发需求

  1. 实现加减乘除及拓号优先级解析
  2. 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )等类似公式后,必须自己解析里面的(),+,-,*,/符号和公式,运算后得出结果,结果必须与真实的计算器所得出的结果一致。

 1 # 1.用于计算 a+b 的计算式。其中 a 和 b 是整数或者有限小数。没有空格和括号。没有其他四则计算。
 2 
 3 
 4 import re,functools
 5 
 6 def addtion():
 7     formula = input("请输入一个公式(严格按照a+b)格式:")  # 得到一个公式字符串
 8     num_list = re.split("\+",formula)  # 这里要注意,加号为元字符,前要加转义字符才行。结果得到一个列表 [a,b]
 9     print(num_list)
10     return float(num_list[0]) + float(num_list[1])
11 
12 print(addtion())
a+b

猜你喜欢

转载自www.cnblogs.com/dongye95/p/9002504.html