Python一元二次方程求根 - Go语言中文社区

Python一元二次方程求根


Python一元二次方程求根

1、任务简介

在之前的博客中我分享了使用Java进行一元二次方程求根的方法,在学习了Python之后我也想使用Python编写一个类似的程序,故在编写成功后将该任务分享出来。


2、任务代码

学习过Java和Python的人都知道,Python的语法比Java简洁得多,并且目前已经广泛应用于爬虫开发、web开发、人工智能和机器学习等主流方向,是一种面向对象的语言,我学习Python的初衷就是为了学习爬虫,目前只是个小白,故只能给大家分享求根计算的程序,哈哈。

在Python中可以使用input来读取用户输入的信息,但是默认将用户输入的的信息保存为字符串的形式,所以需要强制类型转换为float的形式,这样在计算时才可以避免出现错误,在计算根时使用的语句和Java类似,但是math应全为小写,输出语句中的连接应该为逗号“,”。

程序代码如下:

import math
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
x1=((-b+math.sqrt(b**2-4*a*c))/(2*a))
x2=((-b-math.sqrt(b**2-4*a*c))/(2*a))
print("x1=",x1,"t","x2=",x2)

对比发现实现相同功能的Java程序有近19行,而Python程序仅有7行,实在是简洁得多。

运行结果如下图:
在这里插入图片描述

还可以对程序进行改进,使它能判断是否有根等,具体代码如下:

import math
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
if a != 0:
    delta = b**2-4*a*c
    if delta < 0:
        print("无根")
    elif delta == 0:
        s = -b/(2*a)
        print("唯一根x=",s)
    else :
        root = math.sqrt(delta)
        x1 = (-b+root)/(2*a)
        x2 = (-b-root)/(2*a)
        print("x1=",x1,"t","x2=",x2)

即便是加入这些功能,Python代码也仅有16行,故可以发现它相比Java的简洁性,改程序读者可自行验证,我就不发运行截图了。


3、总结

通过本博客分享了Python制作的一元二次方程求根小程序,大家可以对比之前Java编写该程序的博客《使用Java实现一元二次方程求根计算器》,可以发现两种语言之间部分语法是相通的,这也为我们的学习提供了方便。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/lsylsy726/article/details/82760504
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-28 03:29:07
  • 阅读 ( 1034 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢