Python实现一元一次与一元二次方程求解

 更新时间:2023年06月02日 14:22:51   作者:¿¿¿¡¡¡  
这篇文章主要为大家详细介绍了如何利用Python实现一元一次与一元二次方程的求解,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

一、前言

本文讲述的是1元1次方程,1元2次方程的python解法。只用给出一般形式的系数和常数,自动给出方程的解。还附带函数解析。

二、1元1次

1元1次方程的一般形式为ax+b=0。解出来真的超级超级简单。

ax+b=0(a≠0)

同减b,得ax=-b

同除以a,得x=-b/a

所以,我们只需要获取a、b两个数就能求出结果。

另外,我们需要分析一次函数:y=kx+b。(k≠0)

k如果是正数,则x越大y越大(增函数)。k是负数,则x越大y越小(减函数)。

1.获取a和b

2.计算x并输出

3.通过待定系数法描绘函数图像:

该函数是经过点(0,c),(5,d)的一条直线。

4.说明该函数是增函数还是减函数。

太简单辣!代码:

print("任意一个一元一次方程都可以表述为ax+b=0。请输入a和b")
a=int(input())
if a==0:
    print("一次项不能为0!")
    while True:
        input()
b=int(input())
x=-b/a
print("该方程的解是",x)
print("y=",a,"x +",b,"的函数图像是过点( 0,",b,")以及( 5,",5*a+b,")的一条直线。为一次函数。")
if a>0:
    print("该函数为增函数。y随着x的变大而变大。")
else:
    print("该函数为减函数。y随着x的变大而减小。")

轻松搞定。

如果你认为这配不上你的智商,那接下来便是一元二次——

三、1元2次

在这之前,先讲讲1元2次的解法。

一元二次方程的一般形式是ax²+bx+c=0

我相信不会有人没学就被难倒的~

回归正题。我们先要通过判别式判断有方程有多少实数根,再依次根据公式进行解答。

接下来就是二次函数的分析。

二次函数的图像是抛物线,对称轴为b/2a。

ab>0,对称轴在y轴左侧。ab<0,对称轴在y轴右侧。ab=0,对称轴在y轴

函数的顶点位置为(b/2a,4ac-b2/4a).这也是二次函数的最小/大值。

a>0时,抛物线开口朝上。小于零则朝下。|a|越大,开口越小。

图像与x轴有2个点重合,方程便有2个解。1点重合1个解,0点重合无实数解。

接下来,便是代码。

1.获取a,b,c

2.根据判别式判断方程有几个根,再按照公式计算。

3.输入二次函数的性质,直接套公式。

因为代码有点难,加个注释:

import math#导入math模块
print("请将方程转换成ax²+bx+c=0的形式,a、b、c分别是多少?")#询问
while True:#循环判断输入
    try:#异常捕捉
        a=int(input())
        b=int(input())
        c=int(input())#获取a、b、c
        if a==0:#a不能为0
            print(3/0)
        break#运行到这儿没bug就可以退出循环
    except:
        print("输入错误!请重新输入!")#重新输入一遍
pbs=b**2-4*a*c#设置变量判别式
dcz=b/2/a#设置变量对称轴
if pbs > 0:#如果判别式大于0
    gen=math.sqrt((pbs)/(4*a*a))-dcz#依照根式求根1
    gen2=int(math.copysign(math.sqrt((pbs)/(4*a*a)),-1))-dcz#依照根式求根2
    print("方程有两个解,解1为",gen,"解2为",gen2)#输出
    genshu=2
elif pbs == 0:#如果判别式等于0
    print("方程有一个解,为",dcz)#直接输出
    genshu=1
else:#如果判别式小于零
    print("该方程无解")#输出
    genshu=0
"""依照公式输出数据"""
print("函数y = ",a,"x ² + ",b,"x + ",c,"是二次函数,为抛物线")
print("该函数的对称轴为",dcz,)
print("该函数的顶点也是最大/小值位置为( ",dcz,", ",(4*a*c-b*b)/(4*a),")")
print("函数图像与x轴的交点有",genshu,"个,这意味方程有",genshu,"个实数解")
if a>0:#判断开口
    print("方程的开口朝上")
else:
    print("方程的开口朝下")
if b==0:#判断对称轴
    print("该函数的对称轴在y轴上")
elif (a>0 and b<0) or(a<0 and b>0):
    print("该函数的对称轴在y轴右边")
else:
    print("该函数的对称轴在y轴左边")

以 3x²+6x-9=0为例,结果:

再以 2x²+4x+2=0为例。结果:

再以3x²+6x+9=0为例,结果:

到此这篇关于Python实现一元一次与一元二次方程求解的文章就介绍到这了,更多相关Python方程内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用PIL(Python-Imaging)反转图像的颜色方法

    使用PIL(Python-Imaging)反转图像的颜色方法

    今天小编就为大家分享一篇使用PIL(Python-Imaging)反转图像的颜色方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python将代码打包为exe的6种主流方法全攻略

    Python将代码打包为exe的6种主流方法全攻略

    目前 Python 程序打包成 Windows 可执行文件(.exe)的方案已经非常成熟,主要有6 种主流/常用的方式,下面小编就和大家详细介绍一下它们的具体应用吧
    2026-03-03
  • Python中shapefile转换geojson的示例

    Python中shapefile转换geojson的示例

    今天小编就为大家分享一篇关于Python中shapefile转换geojson的示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Pytorch 的 LSTM 模型的示例教程

    Pytorch 的 LSTM 模型的示例教程

    本文给大家介绍了Pytorch 的 LSTM 模型的示例教程,文中结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-06-06
  • 对python pandas读取剪贴板内容的方法详解

    对python pandas读取剪贴板内容的方法详解

    今天小编就为大家分享一篇对python pandas读取剪贴板内容的方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • 星球大战与Python之间的那些事

    星球大战与Python之间的那些事

    阔别十年时光,全球瞩目的第七部星球大战电影《原力觉醒》将于2016年1月9日在国内上映。它将重新燃起那段神秘的太空岁月与具有原力的宇宙时光。但是,星球大战和Python编程语言又有什么关系呢?
    2016-01-01
  • 在DigitalOcean的服务器上部署flaskblog应用

    在DigitalOcean的服务器上部署flaskblog应用

    这篇文章主要介绍了在DigitalOcean的服务器上部署flaskblog的方法,flaskblog是用Python的Flask开发的一个博客程序,而DigitalOcean则是大受欢迎的SSD主机提供商,需要的朋友可以参考下
    2015-12-12
  • Django中使用Celery的方法步骤

    Django中使用Celery的方法步骤

    这篇文章主要介绍了Django中使用Celery,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python数据结构树与算法分析

    Python数据结构树与算法分析

    这篇文章主要介绍了Python数据结构树与算法分析,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • 使用Python制作新型冠状病毒实时疫情图

    使用Python制作新型冠状病毒实时疫情图

    最近被新型冠状病毒搞的人心惶惶,很多城市被病毒感染,今天小编给大家分享使用Python制作新型冠状病毒实时疫情图,感兴趣的朋友跟随小编一起看看吧
    2020-01-01

最新评论