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

高分请教下,python求一元二次方程的根的代码
最新回答
风间白鹿

2024-11-08 00:41:19

以下是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,则方程有两个实数根。
程序输出方程的根,如果方程没有实数根,则输出相应的提示。
请注意,在输入系数时,要确保输入的是浮点数,否则可能会导致程序出错。
甜警司

2024-11-08 01:23:51

# 一元二次方程的解
# 2022-10-16
# ax**2+bx+c=0
import math
while True:
try:
a = float(input('请输入a='))
b = float(input('请输入b='))
c = float(input('请输入c='))
except:
print('请输入正确的数子格式')
continue
else:
d = b ** 2 - 4 * a * c
if d < 0:
print('方程无解')
continue

x1 = (-b + math.sqrt(d)) / (2 * a)
x2 = (-b - math.sqrt(d)) / (2 * a)
print('方程 %fx**2+%fx+%f=0 的解为' % (a, b, c))
print('x1=%.2f,x2=%.2f' % (x1, x2))

print('输入X推出,其他任意键继续')
t = input()
if t == 'x' or t == 'X':
break