首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我教学生写作业——python解二元一次方程组

最近有个同学询问如何用python语言编程求解二元一次方程,见着有趣便记录下来了。

二元一次方程组有现成的求解公式,其实还算简单,对于下面这样一个二元一次方程组来说,

其解为:

下面我们将这样一个公式转化为程序语言.,python提供了一个math模块,math模块中内置了平方根函数:sqrt。下是一段小的求解程序:

frommath import sqrt

print("ais not equal to 0,and (b*b-4*a*c)>0")

defx_function(a,b,c):

x1=(-b+sqrt(b*b-4*a*c))/(2*a)

x2= (-b-sqrt(b*b-4*a*c)) / (2*a)

print("方程的第一个解为:%.2f,\n方程的第二个解为:%.2f" %(x1,x2))

return

程序的第一条是调用math模块的sqrt平方根函数,第二条是一个提示语,第三条则是定义了一个求解的函数。输入代码如图1,运行结果如图2.

图1

图2

当然也可以把程序变得更丰满一些,让程序分别对(b*b-4*a*c)=0,(b*b-4*a*c)>0和(b*b-4*a*c)

from math import sqrt

print("ax^2+bx+c=0,please inputa,b,c")

def x_function(a,b,c):

if a==0:

print("这不满足二元一次方程的条件")

elif (b*b-4*a*c)>0:

x1=(-b+sqrt(b*b-4*a*c))/(2*a)

x2=(-b-sqrt(b*b-4*a*c))/(2*a)

print("方程的第一个解为:%.2f,\n方程的第二个解为:%.2f" %(x1,x2))

elif (b*b-4*a*c)==0:

x1=x2=-b/(2*a)

print("方程存在两个相同的解为:%.2f" %x1)

else:

x1=-b/(2*a)

x3=sqrt(4*a*c-b*b)/(2*a)

x2=-b/(2*a)

x4=sqrt(4*a*c-b*b)/(2*a)

print("方程的第一个解为:%.2f+%.2fj:,\n方程的第二个解为:%.2f+%.2fj" %(x1,x3,x2,4))

return

输入代码如图3,运行结果如图4.

图3

图4

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180430G0DJAM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券