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!