python求一元二次方程的根的代码

python求一元二次方程的根的代码,第1张

以下是Python代码,用于计算一元二次方程的根:

import math

a = float(input("请输入二次项系数a:"))

b = float(input("请输入一次项系数b:"))

c = float(input("请输入常数项c:"))

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

if delta <0:

print("该方程无实数根")

elif delta == 0:

x = -b / (2*a)

print("该方程有一个实数根:x =", x)

else:

x1 = (-b + math.sqrt(delta)) / (2*a)

x2 = (-b - math.sqrt(delta)) / (2*a)

print("该方程有两个实数根:x1 =", x1, ", x2 =", x2)

在这个程序中,用户需要输入方程的二次项系数、一次项系数和常数项。程序使用math模块中的sqrt函数来计算方程的判别式delta,然后根据delta的值判断方程的根的情况。如果delta小于0,则方程没有实数根;如果delta等于0,则方程有一个实数根;如果delta大于0,则方程有两个实数根。

程序输出方程的根,如果方程没有实数根,启漏则输出相应的提示。

请注意,在输入念孙系数时,要确保输入的是浮点数,否则可仔旁链能会导致程序出错。

import math

def erfenfa(function, a, b): #定义函数,利用二分法求方程的根,氏枣裤function为具体方程,a,b为根的取值范围

 start = a

 end = b

 if function(a) == 0: 

  歼简return a

 elif function(b) == 0:

  return b

 elif function(a) * function(b) >0: 

  print("couldn't find root in [a,b]")

  return

 else:

  mid = (start + end) / 2

  while abs(start - mid) >0.0000001: 

   if function(mid) == 0:

    return mid

   岩好elif function(mid) * function(start) <0:

    end = mid

   else:

    start = mid

   mid = (start + end) / 2

  return mid

def f(x):#定义构造方程式函数

 return math.pow(x, 5) -15*math.pow(x, 4) +85*math.pow(x, 3)-225*pow(x,2)+274*x - 121

print(round(erfenfa(f, 1.5, 2.4),6))


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12260519.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存