python利用正则表达式写一个计算器代码
时间: 2023-11-17 07:10:57 浏览: 144
以下是一个简单的计算器代码,使用正则表达式来解析输入的算式:
```python
import re
# 定义正则表达式匹配模式
pattern = r'(\d+\.?\d*)([+\-*/])(\d+\.?\d*)'
# 计算函数
def calculate(match):
num1 = float(match.group(1))
operator = match.group(2)
num2 = float(match.group(3))
if operator == '+':
return str(num1 + num2)
elif operator == '-':
return str(num1 - num2)
elif operator == '*':
return str(num1 * num2)
elif operator == '/':
return str(num1 / num2)
# 循环输入计算式,直到输入quit退出
while True:
expression = input("请输入计算式(如 1+2): ")
if expression == 'quit':
break
result = re.sub(pattern, calculate, expression)
print("结果为: ", result)
```
使用方法:
1. 运行代码
2. 输入算式,如 `1+2`
3. 按回车,程序将输出结果 `3.0`
4. 继续输入算式,或输入 `quit` 退出程序
阅读全文