python计算字符串中的数
时间: 2024-05-14 13:14:46 浏览: 95
找出字符串中的数字
可以使用正则表达式来匹配字符串中的数字,然后将其转换为数值进行计算。例如:
```python
import re
s = "12.5 + 3 - 7 * 2"
numbers = re.findall(r'\d+\.?\d*', s) # 匹配数字,包括小数
operators = re.findall(r'[+\-*/]', s) # 匹配运算符
result = float(numbers[0]) # 初始化结果为第一个数字
for i in range(1, len(numbers)):
num = float(numbers[i])
op = operators[i-1]
if op == '+':
result += num
elif op == '-':
result -= num
elif op == '*':
result *= num
elif op == '/':
result /= num
print(result) # 输出结果:-3.5
```
上述代码中,使用了 `re.findall` 函数来匹配字符串中的数字和运算符,然后依次进行计算。需要注意的是,由于正则表达式可能匹配出多个数字,因此需要对每个数字进行转换和运算。同时,还需要注意除法运算可能会出现除数为零的情况,需要进行异常处理。
阅读全文