python用二分法求平方根_Python使用二分法求平方根的简单示例
对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!
使用二分法(Bisection Method)求平方根。
# @param 使用二分法(Bisection Method)求平方根。
# @author 编程之家 jb51.cc|jb51.cc
def sqrtBI(x,epsilon):
assert x>0,'X must be non-nagtive,not ' + str(x)
assert epsilon > 0,'epsilon must be postive,not ' + str(epsilon)
low = 0
high = x
guess = (low + high)/2.0
counter = 1
while (abs(guess ** 2 - x) > epsilon) and (counter <= 100):
if guess ** 2 < x:
low = guess
else :
high = guess
guess = (low + high)/2.0
counter += 1
return guess
# End www.jb51.cc
验证一下。
>>> sqrtBI(2,0.000001)
>>> 1.41421365738
上面的方法,如果 X<1 ,就会有问题。因为 X (X<1)的平方根不在 [0,x] 的范围内。例如,0.25,它的平方根——0.5 不在 [0,0.25] 的区间内。
>>> sqrtBI(0.25,0.000001)
>>> 0.25
那如何求0.25的平方根呢?
只要略微改动上面的代码即可。注意6行和7行的代码。
# @param 使用二分法(Bisection Method)求平方根。
# @author 编程之家 jb51.cc|jb51.cc
def sqrtBI(x,not ' + str(epsilon)
low = 0
high = max(x,1.0)
## high = x
guess = (low + high)/2.0
counter = 1
while (abs(guess ** 2 - x) > epsilon) and (counter <= 100):
if guess ** 2 < x:
low = guess
else :
high = guess
guess = (low + high)/2.0
counter += 1
return guess
# End www.jb51.cc
验证一下:
>>> sqrtBI(0.25,0.000001)
>>> 0.5
python用二分法求平方根_Python使用二分法求平方根的简单示例相关推荐
- python爬取歌曲评论_python 爬取歌曲评论的简单示例
这篇文章主要为大家详细介绍了python 爬取歌曲评论的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣python 爬取歌曲评论的简单示例的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. ...
- python函数名是变量_Python 变量做函数名的简单示例
这篇文章主要为大家详细介绍了Python 变量做函数名的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! PHP ...
- python使用pymysql连接mysql_python3使用PyMysql连接mysql数据库的简单示例
这篇文章主要为大家详细介绍了python3使用PyMysql连接mysql数据库的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小 ...
- python如何计算成绩平方根_python 使用二分法计算平方根
python 使用二分法计算平方根 from math import sqrt def mysqrt(num,small): assert num>0 assert small>0 low ...
- python输入数学表达式并求值_Python 条件表达式求值
Python 条件表达式求值,Python对表达式执行严格排序,其中值得注意的例外情况是短路运算符and和or.对语句的求值也有严格的顺序要求,这使得难以对其进行优化,因为可能会破坏严格的求值顺序. ...
- python散点图拟合曲线如何求拟合_python 拟合曲线并求参
原博文 2019-06-02 14:35 − 需要对数据进行函数拟合,首先画一下二维散点图,目测一下大概的分布, 所谓正态分布,就是高斯分布,正态曲线是一种特殊的高斯曲线. python的scipy. ...
- python中素数的求法_Python多种方法求某个范围内的所有素数(质数)
素数简介 质数又称素数.一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数:否则称为合数. 方法1 def primeNUM(min,max): if min==1: print( ...
- python二元函数求导_python实现GA求二元函数最大值(来自知乎)
importmath, randomclassPopulation:#种群的设计 def __init__(self, size, chrom_size, cp, mp, gen_max):#种群信息 ...
- python如何创建一个类_python (知识点:类)简单的创建一个类
#!/usr/bin/env python # -*- coding: utf-8 -*- """ Created on Mon Nov 14 01:01:29 2016 ...
最新文章
- mqtt+htttp+websocket
- Linux登录那点事
- 2014年云计算服务将取代PC电脑
- Policy Injection Application Block
- awstats 安装与配置
- 使用饼图_使用R做饼图展示单细胞的cluster的比例
- Application Virtualization 4.5 部署之(三)(
- jquery对Select的操作
- solr analyzer_查看您的Solr缓存大小:Eclipse Memory Analyzer
- python对列表中的数值进行统计运算_python-从单词列表中计算元音并返回数字作......
- 前端JavaScript之BOM与DOM
- 【读书笔记】钢铁是怎么炼成的
- 5道经典面试题【转载】
- OpenModelica中的可视化仿真
- java md5加密与解密_Java——MD5加密与解密
- 智简魔方财务系统详细环境搭建和安装教程
- 计算机专业试讲10分钟教案,幼儿园10分钟试讲教案
- Python 批量下载SIGMOD,VLDB的论文 Mac OS
- Linux连接蓝牙键盘
- 【详细教程】App inventor连接阿里云平台(APP显示STM32发来的温湿度数据等)
热门文章
- 大剑无锋之浅析Cookie/Session/Token
- JVM从入门到精通(一):JVM入门级class文件格式
- C# 类的派生 输出个人信息
- PAT1005 继续(3n+1)猜想 (25 分)【vector erase需要注意的地方】
- JDK12的新特性:teeing collectors
- python数据科学实践指南_《Python数据科学实践指南》——导读-阿里云开发者社区...
- hypermesh 复合材料_【技术邻】HyperMesh复合材料建模——坐标系调整
- python不可以操作access数据库_Python操作Access数据库基本操作步骤分析
- kotlin学习之类的扩展(四)
- Effective Java之在公有类中使用访问方法而非公有域(十四)