python三种方法开根号(穷举法、二分法、牛顿拉夫逊法)

article/2025/8/13 9:49:27

文章目录

  • 方法一:穷举法
  • 方法二:二分法
  • 方法三:牛顿-拉夫逊算法
  • 总结


方法一:穷举法

positive_num = int(input("输入一个正数:"))
#无穷逼近法
answer=0        #正数的根号结果
numGuess=0      #循环次数
epsilon=0.01    #精度
add_value=0.1  #每轮answer增长值
while abs(answer**2-positive_num)  >=epsilon :	#abs已经限制了anwer,在answer在小于5的时候就已经停了循环numGuess+=1         #记录循环次数answer+=add_value   #answer的变化
print(numGuess,' ',answer)

随便试了一下
此方法通过从零开始每一轮加0.1的可以自行改变精度与增加值进行尝试,如果把增加值改为1,就可以得到根号25结果为5的答案。这种方法你也可以试着去掉epsilon这个参数试试,我觉得这个参数就是用来模仿高数中极限的思想的。也方便几个方法对比。


方法二:二分法

#二分法
positive_num = int(input("输入一个正数(origin_high):"))
low=0                   #最小值
high = positive_num     #最大值
answer=(low+high)/2     #定义answer
numGuess=0
epsilon=0.01
while abs(answer**2-positive_num) >=epsilon :numGuess+=1if answer**2<positive_num:low=answer       #小了就把low调大else:high=answer      #大了就把high调小answer=(low+high)/2     #夹击寻找答案
print(numGuess,' ',answer)

在这里插入图片描述

上下夹击寻找根号值,代码比穷举法多了一个if循环,但是循环次数明显减少,同样的epsilon,这里循环次数显著减少,所以说二分法比穷举法好啊,运算量小。


方法三:牛顿-拉夫逊算法

#牛顿-拉夫逊法
positive_num = int(input("输入一个正数:"))
epsilon=0.01
answer=positive_num/2   #答案肯定小于这个正数的一半
numGuess=0
while abs(answer**2-positive_num) >=epsilon:answer = answer - abs(answer**2-positive_num)/(2*answer)	#answer每轮按照比率下降numGuess+=1
print(numGuess,' ',answer)

在这里插入图片描述


总结

一开始我也觉得各个方法里面的epsilon这个参数很多余,明明可以直接answer**2<=25就可以了,但对比去除了epsilon后的结果之后,我觉得还是加上更佳。三种方法的循环次数逐级递减,效率逐级升高。


http://chatgpt.dhexx.cn/article/hXg96Lc5.shtml

相关文章

计算机开根号原理,根号的原理_怎么开的根号,有原理吗

怎么开的根号,有原理吗 JPG&#xff0c;526x296&#xff0c;128KB&#xff0c;444_250 怎么在数轴上画出根号3,求详细过程和原理 JPG&#xff0c;600x293&#xff0c;231KB&#xff0c;514_250 求根号 X 2 2 9 根号 X 3 2 4 的最小值 JPG&#xff0c;598x800&#xff0c;128KB&…

python中根号怎么输入_python中根号怎么表示

sqrt() 方法返回数字x的平方根。 以下是 sqrt() 方法的语法:&#xff08;推荐学习&#xff1a;Python视频教程&#xff09;import math math.sqrt( x ) 注意&#xff1a;sqrt()是不能直接访问的&#xff0c;需要导入 math 模块&#xff0c;通过静态对象调用该方法。 参数 x…

java 开三次根号_java里实现开根号

java里实现开根号 [2021-02-03 08:57:13] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐:《PHP视频教 excel中开根号的函数…

开根号的笔算算法图解_一个数的开根号怎么计算

一个数的开根号怎么计算2020-11-08 15:46:47文/钟诗贺 带根号的式子可以直接进行开平方的运算。一些特殊的根号运算有;√2≈1.414、1/2-√3≈0.5-1.732≈-1.232、2√5≈22.236≈4.236、√7-√6≈2.646-2.449≈0.197。 开平方的笔算方法 1&#xff0e;将被开方数的整数部分从个位…

chatgpt赋能python:如何在Python中表示开根号?

如何在Python中表示开根号&#xff1f; 在Python中&#xff0c;表示开根号有多种方法。本文将介绍其中最常用的三种方法&#xff0c;并对它们的优缺点进行比较&#xff0c;以便读者意识到哪种方法最适合他们的需求。 方法一&#xff1a;使用math模块的sqrt函数 在Python中&a…

python中根号怎么表示_根号python_python根号_python 根号 - 云+社区 - 腾讯云

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 语法以下是sqrt()方法的语法 -import mathmath.sqrt( x )python注意 -此函数不可直接访问,需要导入math模块,然后需要使用math静态对象调用此函数。 2,开n次…

python开根_python如何开根号

平方根&#xff0c;又叫二次方根&#xff0c;表示为〔√&#xffe3;〕&#xff0c;如&#xff1a;数学语言为&#xff1a;√&#xffe3;164。语言描述为&#xff1a;根号下164。python学习网&#xff0c;大量的免费python基础教程&#xff0c;欢迎在线学习&#xff01; 以下…

python开根号_python 开根号

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 语法以下是sqrt()方法的语法 -import mathmath.sqrt( x )python注意 -此函数不可直接访问,需要导入math模块,然后需要使用math静态对象调用此函数。 2,开n次…

MySQL这一章就够了(一)

前言&#xff1a;呕心沥血5个月淦出本文&#xff0c;整理所有MySQL知识。我愿称之为地表最强MySQL。 MySql笔记 MySQL是关系型数据库&#xff0c;基于SQL查询的开源跨平台数据库管理系统。它最初是由瑞典MySQL AB公司开发的。现在它是Oracle Corporation的分支机构。 Mysql特点…

dolphinscheduler 海豚调度历史版本梳理

海豚调度历史版本梳理 概述大版本架构演进趋势版本时间轴记录历史版本3.1.8-release (20230802)3.1.7-release (20230522)3.1.6-release (20230510)3.1.5-release (20230403)3.1.4-release (20230221)3.1.3-release (20230105)3.1.2-release (20221207)3.1.1-release (20221109…

kali视频学习笔记

DAY1 系统安装 1. 用u盘烧录KALI镜像&#xff0c;不含live开头&#xff0c;含amd64&#xff0c;&#xff14;&#xff27; 2. 用u盘启动安装图形界面&#xff0c;选简单中文-汉语&#xff0c;默认KFCE&#xff0c;全工具 3. 改密码&#xff0c;sudo passwd root &#xff0c;原…

NodeJs 面试题 2023

&#xff08;要知道对好事的称颂过于夸大&#xff0c;也会招来人们的反感轻蔑和嫉妒。——培根&#xff09; ㅤㅤㅤ ㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ NodeJs相关 什么是NodeJs Nodejs是一个基于V8虚拟机的JavaScript的运行时平台&#xff0c;使用了事件驱动和非阻塞I…

Linux基础知识笔记

韩顺平2021Linux课程&#xff0c;视频地址&#xff1a;【小白入门 通俗易懂】2021韩顺平 一周学会Linux_哔哩哔哩_bilibili 文章目录 Linux 基础知识 目录结构&#xff08;一切皆为文件&#xff09; vim的使用 关机&重启命令 用户管理 指定运行级别 帮助指令 文件目录类 时…

linux的一些问题个人总结

目录 在工作中遇到的问题&#xff1f; 挖矿病毒 mysql主从失效的问题 mysql相关问题 数据库的类型 数据库的引擎 设置索引的原则 事务的四个特性 脏读、不可重复读、幻读是什么 事务的隔离级别 常用的SQL语句 数据库的数据类型 mysql的数据备份有几种 主从复制原理&#xff08;…

LINUX运维知识点总结(容器;云计算)

目录 一、Linux基础篇 1、描述Linux系统的启动过程 2、描述Linux下软硬链接的区别 3、如何查看和修改Linux进程优先级 查看进程优先级 修改进程优先级 4、如何将Centos.ISO文件挂载 到/mnt/cdrom 5、查找/opt/tomcat/目录下含有“JDBC”的 jsp类型的文件 6、如何查看Li…

DolphinScheduler海豚调度教程

DolphinScheduler 教程 &#xff08;一&#xff09;入门指南 简介 关于Dolphin Apache DolphinScheduler是一个分布式易扩展的可视化DAG工作流任务调度开源系统。解决数据研发ETL 错综复杂的依赖关系&#xff0c;不能直观监控任务健康状态等问题。DolphinScheduler以DAG流式…

Doris-简介、架构、编译、安装和数据表的基本使用

目录 1、Doris简介2、Doris网址3、Doris架构3、编译和安装 3.1、软硬件需求3.2、编译 3.2.1、安装Docker环境3.2.2、使用Docker 开发镜像编译3.3、集群部署 3.3.1、创建目录并拷贝编译后的文件3.3.2、部署 FE 节点3.3.3、配置 BE 节点3.3.4、在 FE 中添加所有 BE 节点3.3.5、启…

系统安全加固

已申请专利&#xff0c;仿冒必究 作者&#xff1a;Xiwu Liu系统安全加固 文章目录 系统安全加固[toc]3.1系统登录策略加固1.密码策略&#xff08;Log,Web,Data&#xff09;LogWebData 2.登录策略&#xff08;Log,Web,Data&#xff09;LogWebDate 3.用户安全管理&#xff08;Web…

谷粒商城高级篇上(未完待续)

谷粒商城高级篇&#xff08;上&#xff09;保姆级整理 之前整理了基础篇&#xff0c;Typora提示将近20000词&#xff0c;谷粒商城基础篇保姆级整理 在学高级篇的时候&#xff0c;不知不觉又整理了两万多词&#xff0c;做了一阶段&#xff0c;先发出来&#xff0c;剩余部分整理…

旧 WCF 项目迁移到 asp.net core + gRPC 的尝试

一个月前&#xff0c;公司的运行WCF的windows服务器down掉了&#xff0c;由于 AWS 没有通知&#xff0c;没有能第一时间发现问题。所以&#xff0c;客户提出将WCF服务由C#改为JAVA&#xff0c;在Linux上面运行&#xff1b;一方面&#xff0c;AWS对Linux有较多的监控措施&#x…