python程序大全(7)——一元一次、一元二次方程解及函数解析

python程序大全(7)——一元一次、一元二次方程解及函数解析本文介绍了一元一次方程和一元二次方程的 python 解法 仅用输出系数和常数就能求出方程解

大家好,欢迎来到IT知识分享网。

🏆一、前言

从1月到6月一直没更新,学习太忙辣。马上就要暑假了,今天是六一儿童节,所以抽出空来更新更新。

本文讲述的是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

x²+\frac{b}{a}x=-c/a                                      让二次项系数变为1,移项

x²+\frac{b}{a}x+(\frac{b}{2a})²=-\frac{c}{a}+(\frac{b}{2a})²                         同加(\frac{b}{2a})²,逆用平方和公式

(x+\frac{b}{2a})²=-\frac{c}{a}+\frac{b^{2}}{4a^{2}}                                     使用平方和公式,右边的平方拆分

x+\frac{b}{2a}\sqrt{\frac{b^{2}-4ac}{4a^{2}}}                                降次,右边通分且加上±根号

我们设△=b²-4ac

△>0时,也就意味着等号右边的式子大于0。方程有两个不相等的实数根。

x=±\sqrt{\frac{b^{2}-4ac}{4a^{2}}}\frac{b}{2a}                                   移项

x=\frac{\pm \sqrt{b^{2}-4ac}}{2a}\frac{b}{2a}                                      利用根号的运算性质

x=\frac{\pm \sqrt{b^{2}-4ac}-b}{2a}                                      最终结果

当△=0时,等号右边的一大串就全是0。方程有两个相等的根。x就=-\frac{b}{2a}

当△<0时,右边这一大串是负数。根据平方根意义,任何实数的平方都不能等于负数。方程无实数解。

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

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

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

二次函数的图像是抛物线,对称轴为\frac{b}{2a}

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

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

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

图像与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 = b2-4*a*c#设置变量判别式
dcz = (-1)*b/2/a#设置变量对称轴
if pbs > 0:#如果判别式大于0
    gen = math.sqrt((pbs))/2/a + dcz#依照根式求根1
    gen2 = 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轴左边")

🏆四、尾声

懒得发太长文字了,只有2000多个字。

写作不易,求个智齿!

———————————————————-end————————————————————

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/155092.html

(0)
上一篇 2025-02-21 18:20
下一篇 2025-02-21 18:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信