在Python中进行计算,你可以使用内置的数学运算符和函数,也可以利用一些特定的模块来执行更复杂的数学操作。下面是一些基本的计算方法和示例:
基本运算符
加法:`+`
减法:`-`
乘法:`*`
除法:`/`
取模:`%`
幂运算:` `
整除:`//`
使用内置函数
`abs()`:求绝对值
`math.sin()`, `math.cos()`, `math.tan()` 等:三角函数
`math.log()`, `math.exp()` 等:对数和指数函数
使用模块
`math` 模块:提供实数运算函数
`cmath` 模块:提供复数运算函数
`fractions` 模块:支持分数运算
`decimal` 模块:支持高精度的浮点数运算
示例代码
```python
导入模块
import math
定义变量
a = 10
b = 20
基本运算
print("a + b =", a + b)
print("a - b =", a - b)
print("a * b =", a * b)
print("a / b =", a / b)
print("a % b =", a % b)
print("a b =", a b)
print("a // b =", a // b)
使用math模块
print("sin(pi/2) =", math.sin(math.pi / 2))
print("log(100) =", math.log(100))
print("exp(2) =", math.exp(2))
使用fractions模块
from fractions import Fraction
print("Fraction(1, 2) =", Fraction(1, 2))
使用decimal模块
from decimal import Decimal
print("Decimal('1.23') =", Decimal('1.23'))
表达式解析
对于包含括号和多位数字的复杂表达式,可以使用正则表达式和递归函数来解析和计算。
import re
def calculate(expression):
移除空格
expression = expression.replace(" ", "")
匹配数字和运算符
tokens = re.findall(r"[-+*/()]|\d+(\.\d+)?", expression)
递归计算函数
def evaluate(tokens):
if tokens == '(':
计算最内层括号
tokens.pop(0)
result = evaluate(tokens)
tokens.pop(0) 弹出右括号
return result
elif tokens in '+-*/':
基本运算
a = evaluate(tokens[1:])
b = evaluate(tokens[3:])
if tokens == '+':
return a + b
elif tokens == '-':
return a - b
elif tokens == '*':
return a * b
elif tokens == '/':
return a / b
else:
数字
return float(tokens)
return evaluate(tokens)
示例表达式
expression = "((100 + 40) * 5 / 2 - 3 * 2) + 9"
print("计算结果:", calculate(expression))
以上示例展示了如何在Python中进行基本的数学运算,以及如何处理包含括号和多位数字的复杂表达式。你可以根据需要进一步扩展和优化这些代码