我的python代码出错

时间:2016-10-14 12:18:44

标签: python pycharm

当我运行此代码时:

import math
print "welcome !This program will solve your quadratic equation"

A = input("inter a =")
B = input("inter b =")
C = input("inter c =")
J=math.pow(B,2)-4*A*C 
X1=-B+math.sqrt(J)/2*A
X2=-B-(math.sqrt(J))/(2*A)
print "your roots is :" , X1 , X2
它给了我错误?!为什么 谢谢^

2 个答案:

答案 0 :(得分:1)

您的print已遗失()。修正版:

import math
print("welcome !This program will solve your quadratic equation")
A = input("inter a =")
B = input("inter b =")
C = input("inter c =")
J = math.pow(B,2)-4*A*C 
X1 = -B+math.sqrt(J)/2*A
X2 = -B-(math.sqrt(J))/(2*A)
print("your roots is :" , X1 , X2)

我只修复了错误,我不知道它是否正确计算你需要的东西。

P.S有我的建议。尝试在默认的Python解释器中查找错误,并在放弃和提问之前阅读代码

P.P.S我也没有注意到错误的变量赋值。它必须是J = (...),而不是J=(...)。我也根据这个

修复了上面的代码

答案 1 :(得分:0)

如果没有关于程序引发哪种错误的任何信息,我认为该问题与 math.sqrt 函数有关,该函数找不到复杂的根。

所以我建议您以这种方式使用 cmath

import cmath, math
print "welcome !This program will solve your quadratic equation"

A = input("inter a =")
B = input("inter b =")
C = input("inter c =")
J=math.pow(B,2)-4*A*C 
X1=-B+cmath.sqrt(J)/2*A
X2=-B-(cmath.sqrt(J))/(2*A)
print "your roots is :" , X1 , X2

此外,我建议您对输入执行一些检查,因为用户可以插入字符串 null 值(如@Ted Klein Bergman建议的那样)。< / p>

如果这不能解决您的问题,请修改您的问题并添加有关错误的更多详细信息。