Python-定义函数.练习题.求一元二次方程解
*声明:
我写此文的目的是帮助和我一样在廖雪峰老师官网上学习Python3的同学更好的理解和学习Python的知识,所以本博文及后续文章会跟着我的学习进度来走,主要内容是廖雪峰老师官网Python资料中每节知识点后的复习题的答案和解析,有一些是我自己原创的,有一些是网上整理的大神写的简洁但对新手并不是很明了的答案,我会尽可能的给出我的解析。*
题目:
请定义一个函数 ’quadratic(a,b,c)‘,接收三个参数,返回一元二次方程:
ax² + bx + c = 0
的两个解。(提示:计算平方根可以调用math.sqrt()函数)
答案:
import math
def quadratic(a,b,c):if not isinstance(a,(int,float)):raise TypeError('a is not a number')if not isinstance(b,(int,float)):raise TypeError('b is not a number')if not isinstance(c,(int,float)):raise TypeError('c is not a number')d=b*b-4*a*cif a==0:if b==0:if c==0:return '方程根为全体实数'else:return '方程无根'else:x1=-c/bx2=x1return x1,x2else:if d<0:return '方程无根'else:x1 = (-b + math.sqrt(d))/2/a x2 = (-b - math.sqrt(d))/2/areturn x1,x2
print(quadratic(2,3,1))
print(quadratic(1,3,-4))
解析:
这道题,并不难,只要对求根公式和求根条件掌握的比较清楚就可以写出来,首先 代码第一行 ’ import math ’ 表示导入 math 包。不光是Python,在其他编程语言里也有包这个概念,这就好比你在生活中会用到方方面面的工具一样,厨房用具放在‘’厨房包‘’里,修家具的放在‘’家具包‘’ 里等等,这里我们要用到计算平方根函数 ‘’sqrt()‘’,而这个函数又放在在‘’math‘’这个包里,所以我们导入这个包。
代码3-8行是廖雪峰老师在 定义函数 知识点里讲到的参数检查,因为 quadratic(a,b,c)要接收a,b,c三个参数,所以要对这三个参数分别做检查,确保这三个数是符合一元二次方程的整数(int)或浮点数(float)。
代码第九行是为了使代码简洁所以定义了 d 这个变量。
代码10-26行 是利用条件判断做的关于一元二次方程求根的主体运算,你要对每层条件判断有一个清晰地逻辑关系,学习呢,就是接受知识和独立思考的过程,所以我希望小伙伴们可以先独立思考一下,如果真的想不明白,OK!不要浪费过多时间,可以把本文中提供的答案中的不理解的地方写在本文的评论里,虽然我也只是一个知之很少的人,但是我会尽可能的为你提供帮助。
Python-定义函数.练习题.求一元二次方程解相关推荐
- python遗传算法实例:求一元二次方程实例
文章目录 1. 项目简介 1.1 解的编码 1.2 解的交叉融合 1.3 突变 1.4 适合度计算 2. 遗传算法 3. 演示 3.1 细节模式 3.2 非细节模式 4. 代码讲解 4.1 Numbe ...
- 用函数实现求一元二次方程ax^2+bx+c=0的根
1.用函数实现求一元二次方程ax^2+bx+c=0的根,要求二次方程的系数a,b,c由键盘输入. #include "iostream" #include "math.h ...
- 【Python实践-1】求一元二次方程的两个解
知识点: import sys, sys模块包含了与Python解释器和它的环境有关的函数. "sys"是"system"的缩写.sys.exit() 中途退出 ...
- C/C++ 函数(求一元二次方程的根)
题目描述 求一元二次方程ax^2+bx+c=0的根. 输入 方程的三个系数a.b.c的值. 输出 方程的根. 样例输入 4 1 1 1 2 1 1 1 -2 样例输出 x1=-0.125+0.484i ...
- python怎么算一元二次方程_Python求一元二次方程解
题目: 请定义一个函数 'quadratic(a,b,c)',接收三个参数,返回一元二次方程: ax² + bx + c = 0 的两个解.(提示:计算平方根可以调用math.sqrt()函数) im ...
- python定义函数练习题_python练习题
一.函数 1.用户传入修改的文件名,指定要修改的内容,执行函数,完成批量修改的操作 def modify_file(filename,old,new): import os with open(fil ...
- python定义函数,求出最大值最小值
def test_list(list): test_min=min(list) test_max=max(list) return test_min,test_max prin ...
- python解一元二次方程虚根_Python编程实现数学运算求一元二次方程的实根算法示例...
本文实例讲述了Python编程实现数学运算求一元二次方程的实根算法.分享给大家供大家参考,具体如下: 问题: 请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程:ax² ...
- 小复习1 Python求解一元二次方程解(自定义函数)
前言 本文实例讲述了Python编程实现数学运算求一元二次方程的实根算法.分享给大家供大家参考,具体如下: 问题 请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程:a ...
最新文章
- FastDFS的配置、部署与API使用解读(7)Nginx的FastDFS模块(转)
- java统计行列和字数的函数_JAVA使用POI获取Excel的列数与行数
- double类型最大值_Java后端精选基础教程:Java 中的基本数据类型「连载 6」
- linux内核设计与实现 中文第三版 pdf_大牛推荐的5本 Linux 经典必读书
- 基于SkyEye的MPC5554 片上Flash实现
- Python 标准库—— datetime(运行时间的判断)
- linux进程间通信-概述
- 超图(idesktop iserver10) 处理osgb倾斜摄影和tif并 发布 加载 ---1---连续更新
- 幸运大转盘抽奖逻辑实现
- 详解无刷直流电机的工作原理
- 抖音怎么用计算机数字等于中文字,抖音数字表白公式怎么玩 抖音数字表白从1到100攻略...
- java得到几天前的日期
- 网络基础3【网络层、数据链路层】
- 一次搞懂 Android 音频开发
- 速卖通打印标签快递单条形码太细小导致打印出来的条形码挤在一起,扫描枪无法识别,如何打印出清晰的条形码
- 差分约束 [HNOI2005]狡猾的商人(洛谷 P2294)
- mcem r语言代码_处理潜变量或随机效应的高维积分时,我们做些什么之MCEM
- 谷歌眼镜设计规范之输入方式
- 益聚星荣:B站成“今年最亏视频平台”?爱奇艺都甘拜下风
- 史上最详细配置阿里镜像加速器方法
热门文章
- SQL每日练习记录(MySQL)
- Neo4j 操作与 py2neo 用法
- java对接医疗设备_基于Java框架的医疗设备管理系统设计与实现
- 哈希表及哈希冲突的解决
- 用启动盘点击修复计算机没有反应,如何修复并还原故障/没有反应SSD固态硬盘...
- 远程下层文档 正在打印_柯尼卡美能达推出打印设备远程视觉支持工具AIRe Link...
- iis不能启动站点,端口被占用.(解决办法)
- c语言100的阶乘如何编译,100的阶乘有关问题
- oracle如何exp远程备份,采用oracle中exp远程备份oracle
- Linux的简介与系统启动过程