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实现一元二次方程求根计算器》,可以发现两种语言之间部分语法是相通的,这也为我们的学习提供了方便。

  • 54
    点赞
  • 168
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值