我正在尝试编写一个求解二次方程的脚本,但是答案中有一个'j'。
我尝试使用常规数学模块,但这给了我一个错误,尽管'cmath'给了我这个。
这是我的代码:
import math
import cmath
import time
print("Please enter A, B, and C values")
A = float(input("A: "))
B = float(input("B: "))
C = float(input("C: "))
X = B*-1 + cmath.sqrt(B**2 - 4*A*C)/(2*A)
Y = B*-1 - cmath.sqrt(B**2 - 4*A*C)/(2*A)
print(X, Y)
虽然它为我提供了二次方的解决方案,但它们的形式难以理解,对我来说毫无用处。有没有办法让它显示实际值?
答案如下: (-4 + 1j)(-4-1j) 有什么方法可以转换这些东西吗?
答案 0 :(得分:5)
cmath中的“ c”表示“复杂”。您提供的输入没有二次方的实值解,这就是为什么使用常规数学模块时会出错的原因。
'j'是Python对复数sqrt(-1)的表示。在许多领域(例如我自己的电气工程),使用“ j”代替“ i”(在数学上很常见),以避免与用“ i”表示的其他事物(例如电流)混淆。