我只是在尝试使用 Python 2.7 并从中获得乐趣,并且我正在尝试编写一个二次方程求解器。当 radicand 为正时,我让它工作,但当它为负时,我得到一个错误。即使在此 if else 语句之后。它也不适用于大数字。谢谢您的帮助。
import math
a = raw_input("a = ")
b = raw_input("b = ")
c = raw_input("c = ")
float(a)
float(b)
float(c)
radicand = ((b**2)-4*a*c)
if radicand >= 0:
print(((0-b) + math.sqrt((b**2)-4*a*c))/(2*a))
print(((0-b) - math.sqrt((b**2)-4*a*c))/(2*a))
else:
print "Imaginary Radical"
当我用 radicand 替换 (b**2)-4*a*c 时,我得到一个无效的语法错误,并且 print 以红色突出显示。错误消息说 TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int'
再次感谢您提供的任何见解...