程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2021-12(30)

2022-01(20)

python解决一元二次方程

发布于2022-10-05 08:28     阅读(590)     评论(0)     点赞(27)     收藏(0)


题目:求一元二次方程ax*x+b*x+c=0的解

从键盘输入a,b,c的值,分多种情况输出解。

  1. a等于0,b也等于0时,输出“方程无解”;
  2. a等于0,b不等于0时,输出“方程有1个解,x= ?”;?表示方程的解
  3. a不等于0时,计算判别式d=b*b-4*a*c的值:

若d小于0,输出“方程无实数解”;

若d等于0,解等于-b/2a,输出“方程有两个相同的解,x1=x2=?”;?表示方程的解

若d大于0,用求根公式 求两个解,并比较大小,使x1大于x2,输出“方程有两个实数解,          x1=?,x2=?”。?表示方程的解

代码如下:

a=float(input("请输入a"))

b=float(input("请输入b"))

c=float(input("请输入c"))

if a==0 and b==0:

   print("方程无解")

elif a==0 and b!=0:

    print("方程有一个解,x=",-c/b)

elif a!=0:

    d=b*b-4*a*c

    if d==0:

        print("方程有一个解,x1=x2=",-b/(2*a))

    elif d<0:

        print("方程无实数解")

    else:

        e=b*b-4*a*c

        x1=(-b+e**0.5)/(2*a)

        x2=(-b-e**0.5)/(2*a)

        if x1>x2:

             print("方程有两个实数解,x1=%.1f,x2=%.1f"%(x1,x2))

        else:

            print("方程有两个实数解,x1=%.1f,x2=%.1f"%(x2,x1))

这道题就很简单了就是对输入的a,b,c进行if操作去选择它们应该执行的操作。整体的思路就是只用到了选择语句最多就是选择里面再加上了一个选择,是一个比较简单的问题。这个特别适合初学者在掌握选择操作时学习,这个是很经典的选择操作的语句代码之一。

Tips:python里面开根号可以 变量**0.5当然仅限于变量是正数,这样就不用调用math库和sqrt函数了。

原文链接:https://blog.csdn.net/m0_53345417/article/details/124523416



所属网站分类: 技术文章 > 博客

作者:473847837423232

链接:https://www.pythonheidong.com/blog/article/1786062/43452886c8ee286f309e/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

27 0
收藏该文
已收藏

评论内容:(最多支持255个字符)