1 问题
怎么合理结合函数,数学知识来用代码解决一元二次方程。
2 方法
一元二次方程ax2+bx+c=0,a、b、c的值由用户在三行中输入,根据用户输入的数值求解方程的实数解:
如果a值 为0,根据b值判断方程是否有解并输出,如果a与b同时为0,则输出Data error!
如果方程无实数解,输出“该方程无实数解”;
如果方程有两个相同的实数解,输出一个解;
如果方程有两个不同的实数解,在一行内按从大到小顺序输出方程的两个解,用空格分隔。
代码清单 1
import math
a=eval(input())
b=eval(input())
c=eval(input())
if a == 0:
if b!=0:
x=(-c)/b
print("{}".format(x))
if b==0:
print("Data error!")
else:
if b**2-4*a*c<0:
print("该方程无实数解")
if b**2-4*a*c>0:
x1=(-b+math.sqrt(b**2-4*a*c))/(2*a)
x2=(-b-math.sqrt(b**2-4*a*c))/(2*a)
if x1>x2:
print("{} {}".format(x1,x2))
if x1<x2:
print("{} {}".format(x2,x1))
if b**2-4*a*c==0:
x=(-b+math.sqrt(b**2-4*a*c))/(2*a)
print("{}".format(x))
3 结语
合理利用数学知识能够使代码变得更加简单。并且能够提高我们的效率。