首先要明确这个计算器有什么功能:1可以实现加,减,乘,除以及其混合运算;2可以实现储存数据;那么接下来就是要思考怎么做了!
要实现这些功能,就要构思要完成的方法;1加减法的方法;2单个乘法或除法;3多个乘法或除法;4,万一是混合运算,要写一个完成混合运算的方法;5储存数据的方法;
好了,想到这,我们就成功了一半啦!!!
接下来就是完成自己的构思。
1加减法的方法:
import re
def add_sub(exp): #计算加减法
ret = re.findall('[+-]?\d+(?:\.\d+)?', exp)
#利用正则表达式匹配算式中的带符号的每项数字,返回一个列表
exp_sum = 0
#在这个循环中完成加或减法
for i in ret:
exp_sum += float(i) #将列表中的每一项求和
return exp_sum
2单个乘法或除法
import re
def atom_cal(exp):
if '*' in exp: #计算单个的乘法
a,b = exp.split('*') #split()是用来分割字符;
return str(float(a) * float(b))
elif '/' in exp: #计算单个的除法
a, b = exp.split('/')
return str(float(a) / float(b))