全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
947 3
2015-11-16
小弟在编写一个一元二次方程求解的代码,遇到一些错误,还请大神们悉心指出,以举手之劳帮小弟一把,以下是一段代码:
import math
def quadratic(a,b,c):
    p=float(b^2-4*a*c)
    if p<0:
     return 'wrong'
    else:
     x1=float((math.sqrt(p)-b)/2*a)
        x2=float((math.sqrt(p)+b)/2*a)
        return x1,x2
在Python显示平,p<0出现了“math domain error”,请问怎么编写
并烦劳各位大牛们指出还有什么错误
感激不尽!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-11-17 12:02:40
首先,第二个根应该是-math.sqrt(p)-b)/2*a吧?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-11-19 18:38:44
#错误有2
1 p=float(b**2-4*a*c) 平方应是** 而不是^
2 x2 计算错误
import math
def quadratic(a,b,c):
        p=float(b**2-4*a*c)
        if p<0:
                return 'wrong'
        else:
                x1=float((-1)*b+math.sqrt(p))/2*a
               
                #x2=float((math.sqrt(p)+b)/2*a)
                x2=float((-1)*b-math.sqrt(p))/2*a
               
        return x1,x2

def main():
        #f1(x)=x^2-5x+6 [a,b,c]=[1,-5,6]
        print quadratic(1,-5,6)
        print quadratic(1,-3,2.25)
        return 0

if __name__ == '__main__':
        main()
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-1-2 11:58:33
对阿,幂运算表达式不对,还有返回值不能是两个。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群