不能将负数提升到分数幂

时间:2016-05-19 12:01:29

标签: python

x1 = -b + (b **2 - 4*a*c) ** 0.5
x2 = x1 / (2 * a)

我的程序接受用户输入并解决二次函数。然而,它无法处理负数,我得到分数功率误差。我想知道如何使它,以便我的程序可以接受负数,仍然给出正确的答案。

我试过了,但它没有给我一个输出,只是空行:

x1 = -b + (b **2 - 4*a*c+0j) ** 0.5
x2 = x1 / (2 * a)

1 个答案:

答案 0 :(得分:1)

为了这个目的,你应该使用复数来使用cmath:

import cmath
x1 = -b + cmath.sqrt(b **2 - 4*a*c)
x2 = x1 / (2 * a)