新闻中心
Python编程实战:求取一元二次方程的根
一元二次方程 $ ax^2 + bx + c = 0 $($ a \neq 0 $)的根由判别式 $ D = b^2 - 4ac $ 决定:当 $ D > 0 $ 时有两个不等实根,$ D = 0 $ 时有重根,$ D < 0 $ 时无实根。

一元二次方程是形如 $ ax^2 + bx + c = 0 $ 的方程,其中 $ a \neq 0 $。求解它的根可以使用判别式法,通过判断判别式的正负来确定根的类型。下面我们将用 Python 编写一个完整的程序,计算一元二次方程的根。
理解判别式与根的关系
对于方程 $ ax^2 + bx + c = 0 $,其判别式为:
$ D = b^2 - 4ac $
根据 $ D $ 的值,可以得出以下结论:
- 若 $ D > 0 $:有两个不相等的实数根
- 若 $ D = 0 $:有一个重根(两个相等的实数根)
- 若 $ D
编写Python函数求解方程
我们可以定义一个函数 solve_quadratic,接收系数 $ a, b, c $,返回对应的根。
AIFreePhp企业建站系统
AiFreePhp(爱免费php企业建站程序是一个免费开源的PHP建站程序),基于PHP + MYSQL 与模板技术,具有产品展示,文章栏目,下载管理,友情链接等功能。无任何限制功能,程序简单实用,可用于中小企业网站建设,不收取任何费用。使用本程序,不可将程序变相转售,二次开发发布。 运行安装目/install/index.php一般要求安装在站点的根目录,不是根目录有试过有没有问题,请大家尽量以
0
查看详情
import math
def solve_quadratic(a, b, c):
if a == 0:
raise ValueError("a 不能为 0,否则不是二次方程")
discriminant = b**2 - 4*a*c
if discriminant > 0:
root1 = (-b + math.sqrt(discriminant)) / (2 * a)
root2 = (-b - math.sqrt(discriminant)) / (2 * a)
return f"两个实数根: {root1:.4f}, {root2:.4f}"
elif discriminant == 0:
root = -b / (2 * a)
return f"一个重根: {root:.4f}"
else:
real_part = -b / (2 * a)
imaginary_part = math.sqrt(-discriminant) / (2 * a)
return f"两个复数根: {real_part:.4f} + {imaginary_part:.4f}i, {real_part:.4f} - {imaginary_part:.4f}i"
# 示例调用
print(solve_quadratic(1, -5, 6)) # 两个实根
print(solve_quadratic(1, -2, 1)) # 重根
print(solve_quadratic(1, 2, 5)) # 复数根处理用户输入与异常情况
为了让程序更实用,可以加入用户输入功能,并做必要的错误处理。
def main():
print("求解一元二次方程 ax² + bx + c = 0")
try:
a = float(input("请输入 a: "))
b = float(input("请输入 b: "))
c = float(input("请输入 c: "))
result = solve_quadratic(a, b, c)
print(result)
except ValueError as e:
print(f"输入错误: {e}")
except Exception as e:
print(f"发生错误: {e}")
# 启动程序
# main()运行后,用户可输入任意实数系数,程序会自动判断并输出对应类型的根。注意要确保输入的是数字,避免因输入非数值导致程序崩溃。
基本上就这些。这个小项目锻炼了条件判断、数学运算和异常处理能力,适合初学者巩固 Python 基础。实际应用中还可以扩展支持分数输入或图形化界面。
以上就是Python编程实战:求取一元二次方程的根的详细内容,更多请关注其它相关文章!
# 如何将
# 香港网站建设效果
# 桂园网站推广有用吗
# 淘宝网站建设框架图片
# seo零基础入门书籍
# 如何营销唇膏店铺推广语
# 洛阳专业网站推广
# 营销推广的定义及目标
# 推广网站制作话术
# 广东seo排名哪个便宜
# 网站建设抖音认证选择
# 的是
# 源代码
# python
# 数据包
# 转换为
# 求取
# 建站系统
# 请输入
# 实根
# 中小企业网站建设
# elif
# python编程
# python函数
# ai
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
绝地鸭卫平a核爆刀流玩法攻略
AO3官网镜像链接 Archive of Our Own同人文在线浏览
C++如何操作注册表_Windows平台下C++读写注册表的API函数详解
Golang如何实现Web接口签名验证_Golang Web接口签名校验开发方法
uc手机浏览器网页版入口 uc浏览器手机版便捷登录首页
J*a递归快速排序中静态变量导致数据累积的陷阱与解决方案
Gmail邮箱申请注册直达_Gmail邮箱免费注册PC版官网入口2025
PHP高效扁平化嵌套数组:使用array_merge与数组解包操作符
c++中的std::forward_list和std::list有什么不同_c++ forward_list与list区别分析
React/Next.js中实现列表项的动态移动与状态管理:兼论唯一键的重要性
J*a递归快速排序中静态变量导致数据累积问题的解决方案
在Socket.IO连接中实现Access Token自动更新与动态重连
Yandex免登录网页版地址 Yandex搜索引擎官方访问入口
qq游戏大厅官方下载_qq游戏免费下载安装入口
电脑IP地址怎么查 查看本机IP地址的几种方法
QQ官网正版登录链接 QQ在线登录入口最新
LINUX的I/O重定向是什么_深入理解LINUX中 >、>> 与 < 的区别
纯CSS与HTML网格布局的HTML精简策略:SVG与JS方案解析
如何在J*a中实现统一对象行为接口_项目大型化时的接口规范化
PPT平滑切换怎么做 PPT炫酷“平滑”切换动画制作教程【必学】
C#中解析不规范的HTML为XML 常见的坑与解决办法
J*aScript实现动态背景色下的文本与按钮颜色自适应调整
在J*a项目里如何构建对象之间的契约_接口约束的实际落地
TikTok国际版网页端快速入口 TikTok全球版短视频浏览教程
J*aScript中在Map循环中检测并处理空数组元素
晋江读书网页版在线登录 晋江读书电脑版官网
在React函数组件中利用原生HTML5进行邮箱地址验证
C++如何比较两个字符串_C++ string compare函数与操作符对比
《明末:渊虚之羽》设计师谈设计角色:那会刚毕业 充满激情
高德地图总提示网络异常怎么办 高德地图离线导航设置与网络排查方法
Python:递归比较文件夹内容并找出特定类型文件的差异
Typer应用中动态命令行参数的解析与处理
mysql备份恢复性能优化_mysql备份恢复性能优化方法
Node.js CSV 数据处理:基于字段空值条件过滤整条记录的策略
夸克AO3官网入口_AO3镜像网站2025推荐
邮编格式怎么匹配地址_根据邮编格式快速匹配详细地址的技巧
Spyder启动失败:字体文件权限拒绝错误解决方案
Animex动漫社网入口地址 Animex动漫社网正版在线入口
Golang如何安装Swagger工具_GoSwagger文档生成环境
顺丰国际快递查询 国际件官方查询入口
R星幕后开发视频泄露 包含《GTA6》等多款大作
Discord Slash 命令响应超时问题的异步解决方案
Win11怎么合并任务栏图标 Win11开启任务栏合并减少图标占空间【方法】
《马克思佩恩3》早期版本曝光 UI设计曾多次调整!
NetBeans Ant项目:自动化将资源文件复制到dist目录的教程
html怎么运行外部js文件中的函数_运html外js文件函数法【技巧】
双系统安装时,如何设置默认启动系统? msconfig命令了解一下!
谷歌浏览器怎么给标签页静音_Chrome标签静音快捷操作
c++如何实现一个简单的ECS框架_c++数据驱动设计与游戏开发
中兴Axon42Ultra怎样在文件App筛图_iPhone中兴Axon42Ultra文件App筛图【图片筛选】


2025-11-27
浏览次数:次
返回列表