Python中如何实现复式计算的代码?
Python中如何实现复式计算的代码?
1 回复
import cmath
# 基础复数运算
z1 = 3 + 4j
z2 = 1 - 2j
# 加减乘除
print(f"加法: {z1} + {z2} = {z1 + z2}")
print(f"减法: {z1} - {z2} = {z1 - z2}")
print(f"乘法: {z1} * {z2} = {z1 * z2}")
print(f"除法: {z1} / {z2} = {z1 / z2}")
# 使用cmath模块进行高级运算
print(f"模长: |{z1}| = {abs(z1)}")
print(f"辐角: phase({z1}) = {cmath.phase(z1)} radians")
print(f"共轭: conjugate({z1}) = {z1.conjugate()}")
print(f"极坐标转直角坐标: {cmath.rect(5, cmath.pi/4)}")
print(f"直角坐标转极坐标: {cmath.polar(3+4j)}")
# 复数函数
print(f"e^(iπ): {cmath.exp(1j * cmath.pi)}")
print(f"sin(i): {cmath.sin(1j)}")
print(f"sqrt(-1): {cmath.sqrt(-1)}")
print(f"log(-1): {cmath.log(-1)}")
# 实际应用:解二次方程 ax² + bx + c = 0
def solve_quadratic(a, b, c):
discriminant = b**2 - 4*a*c
root1 = (-b + cmath.sqrt(discriminant)) / (2*a)
root2 = (-b - cmath.sqrt(discriminant)) / (2*a)
return root1, root2
# 示例:解 x² + 2x + 5 = 0
roots = solve_quadratic(1, 2, 5)
print(f"\n方程 x² + 2x + 5 = 0 的解: {roots[0]}, {roots[1]}")
Python处理复数直接用j后缀就行,标准库cmath提供了完整的复数运算函数。

