#知识点梳理
# 计算器的编程本文主要考虑思路:运算最小单元就是两个数的 = - * / n次方,以及一个数的阶乘。。其余都是重复进行运算
# 利用循环实现多个数相乘或相除
# 括号的关系:是又一层的循环。利用函数嵌套关系,将运算函数进行封装。
# 考核 正则表达式的运用
# \d+(\.\d+)?[*/]-?\d+(\.\d+)? 乘除法
# [+-]?\d+(?:\.\d+)? 加减法
# \([^()]+\) 括号
# re模块的应用-----将字符串转为 列表
# re.findall() re.search() roup()
# 字符串的操作
# replace split
import re
def factorial_ts(exp): # 定义阶乘算法
if exp == 0 or exp == 1:
return 1
else:
return exp * factorial_ts(exp-1)
def power_ts(exp_1,exp_2): # 定义n次方
if exp_2 == 0:
return 1
elif exp_2 == 1:
return exp_1
else:
return exp_1 * power_ts(exp_1,exp_2-1)
def atom_cal(exp):
if '*' in exp: #计算单个的乘法
a,b = exp.split('*'