Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 下面的二次方程代码有什么问题?_Python_Variables_Math_Floating Point_Quadratic - Fatal编程技术网

Python 下面的二次方程代码有什么问题?

Python 下面的二次方程代码有什么问题?,python,variables,math,floating-point,quadratic,Python,Variables,Math,Floating Point,Quadratic,我正试图制作一个程序,用二次公式将标准形式的二次方程转换成因子形式,但我开始做数学的部分出错了。我使用的浮动似乎有问题,但我不知道为什么,也不知道如何解决 这是我得到的错误: 回溯(最近一次呼叫最后一次): 文件“C:\Users\Josef\Documents\Python\standardFactored.py”,第25行,在 权利=b^2-4*a*c TypeError:不支持^“float”和“float”的操作数类型 代码如下: print("This program will c

我正试图制作一个程序,用二次公式将标准形式的二次方程转换成因子形式,但我开始做数学的部分出错了。我使用的浮动似乎有问题,但我不知道为什么,也不知道如何解决

这是我得到的错误:

回溯(最近一次呼叫最后一次):
文件“C:\Users\Josef\Documents\Python\standardFactored.py”,第25行,在
权利=b^2-4*a*c
TypeError:不支持^“float”和“float”的操作数类型

代码如下:

print("This program will convert standard form quadratic equations to "
      "factored form. ax^2+bx+c --> a(x+ )(x+ )")

while True:
    try:
        a = float(raw_input("a = "))
        break
    except:
        print("that is not a valid number")

while True:
    try:
        b = float(raw_input("b = "))
        break
    except:
        print("that is not a valid number")

while True:
    try:
        c = float(raw_input("c = "))
        break
    except:
        print("that is not a valid number")

rightS = b^2-4*a*c
try:
    math.sqrt(rightS)
except:
    ("There is no factored for for this equation")
    quit()

^
操作符可能不会执行您期望的操作。它是一个二进制异或,或eXclusive运算符。XOR运算符不能处理浮点数,因此会产生错误。错误基本上是说它不能在两个浮点数上进行操作。对于指数,使用双星号。请参阅Python操作符

例如,电源b的a为:

a ** b
在您的情况下,它将是:

rightS = b ** 2 - 4 * a * c

运算符“^”的作用与您认为的不同。^被称为排他或。你想用**进行指数运算(b**2)。没问题@joseffuchko!