首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >具有for循环的简单函数

具有for循环的简单函数
EN

Stack Overflow用户
提问于 2016-11-01 09:42:25
回答 3查看 139关注 0票数 0

在阅读数字分析的时候,我陷入了一个非常愚蠢的观点。

所以我有下面的python程序。我不明白为什么我会得到这些结果。

我在哪里使用iheron(x,y)中获得这些结果?

因为只有第一个对我有意义。如果函数中根本没有使用i,为什么数字会减少呢?

代码语言:javascript
运行
AI代码解释
复制
def heron(x,y):
    x=(x+y/x)*0.5
    return x

x=1
y=2
for i in range(5):
   x=heron(x,y)
   print('Approximation of square root : %.16f'%x)

其结果是:

代码语言:javascript
运行
AI代码解释
复制
Approximation of square root :1.5000000000000000
Approximation of square root :1.4166666666666665
Approximation of square root :1.4142156862745097
Approximation of square root :1.4142135623746899
Approximation of square root :1.4142135623730949

编辑:这段代码是我的教授在课堂上给出的,我想它的唯一用途就是解释Python的一些基本内容?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-11-01 09:46:11

线

代码语言:javascript
运行
AI代码解释
复制
for i in range(5):

仅指:

做以下五次。

实际工作是在

代码语言:javascript
运行
AI代码解释
复制
x = heron(x,y)

它使用x作为heron参数的一部分,并将更改后的值分配给它。因此,在y保持不变的情况下,每次调用heron都会更改x。然后将更改后的x用作下一次调用的参数。

编辑:,我无法确定这是否是一个正确的实现,因为我不知道您要实现什么算法。但你只问:

如果函数中根本没有使用i,为什么数字会减少呢?

票数 3
EN

Stack Overflow用户

发布于 2016-11-01 09:56:50

您正在尝试实现Heron算法以找到数字的平方根。

这是一种迭代算法,在每一步都会提高结果的精度。

在您的实现中,x是一个初始解决方案,而y是您想要找到的平方根数。

您正在执行5迭代,并且不需要变量i来执行迭代。您可以使用_声明不需要的变量。

您可以定义所需的精度,并迭代各种次数以达到所需的精度。

代码语言:javascript
运行
AI代码解释
复制
def heron(x,y):
    x=(x+y/x)*0.5
    return x

x=1
y=2
numberOfIterations = 5
for _ in range(numberOfIterations):
    x=heron(x,y)
    print('Approximation of square root : %.16f'%x)
票数 0
EN

Stack Overflow用户

发布于 2016-11-01 09:47:53

我认为,您必须修改您的代码如下:

代码语言:javascript
运行
AI代码解释
复制
def heron(x,y):
    x=(x+y/x)*0.5
    return x

x=1
y=2
for i in range(5):
   z=heron(x,y)
   print 'Approximation of square root :%.16f'%z
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40365587

复制
相关文章
如何使用npm发布自己的npm包
一. 创建 在npm的官网上注册一个账号,https://www.npmjs.com/ 1:在本地通过npm init 初始化一个项目,并建一个index.js 文件,因为index.js为默认进入的文件,如下: 2:在本地将该创建的项目打开,并在index.js编写想要写的文件(这里简单写一个排序),如下: 3:接下来通过npm login来登录你之前创建的npm账号,如下: 4:npm pubish 二. 使用 npm install 包名 三. 版本更新 更改版本号 重新发布
小吕
2022/09/26
3.8K0
如何使用npm发布自己的npm包
如何使用npm发布自己的npm包
一. 创建 在npm的官网上注册一个账号,https://www.npmjs.com/ 1:在本地通过npm init 初始化一个项目,并建一个index.js 文件,因为index.js为默认进入的文件,如下: image-ab2ede5fb9d14ab8bb059eb63257c67c.png 2:在本地将该创建的项目打开,并在index.js编写想要写的文件(这里简单写一个排序),如下: image-1dc4644452b844869943897ce6cfd223.png 3:接下来通过npm
小吕
2022/06/16
1.6K0
如何使用npm发布自己的npm包
卸载npm和安装npm_使用`npm uninstall`卸载npm软件包「建议收藏」
To uninstall a package you have previously installed locally (using npm install <package-name> in the node_modules folder, run
全栈程序员站长
2022/07/25
3.4K0
npm包–rimraf[通俗易懂]
rimraf 包的作用:以包的形式包装rm -rf命令,用来删除文件和文件夹的,不管文件夹是否为空,都可删除
全栈程序员站长
2022/11/17
1.1K0
发布npm包
Npm包管理器不用多讲,用过三大框架的应该都用过。今天讲一下怎么发布自己的npm包。
wade
2020/04/24
6590
关于npm 包更新工具npm-check-updates 使用详解
首先说一下包版本的控制 假设 package.json 的包版本如下 "dependencies": { "vue": "^2.5.0", "vuex": "~3.1.0", "vue-router": "3.5.3", "react": "15.4.x", "typescript": "3.x.x", "react-dom": "*.*.*", "react-draggable": "x.x", "classnames": "x", "pinia": "*" } 执行
用户10106350
2022/10/28
1.4K0
关于npm 包更新工具npm-check-updates 使用详解
为什么不推荐使用PHPicker
iOS 14 中系统新增了一个图片选择器 PHPicker,官方建议使用 PHPicker 来替代原有的 API 进行图片选择,下面我们来看看 PHPicker 的优点:
ios-lan
2020/10/23
2.7K0
为什么不推荐使用PHPicker
MySQL为什么不推荐使用in
当然,每个具体的情况都是不同的,所以在选择查询操作符时,我们需要根据具体的需求和数据情况进行评估和测试。在优化查询性能时,我们可以使用MySQL的查询分析工具来帮助我们理解查询的执行计划和性能瓶颈,从而做出更好的决策。
程序员朱永胜
2023/09/07
4170
使用typescript开发angular模块(发布npm包)
创建模块 初始化package.json文件 执行命名 npm init -y 会自动生成package.json文件如下,name默认为文件夹名称 { "name": "MZC-Ng-Api", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords"
易兒善
2018/08/21
1.3K0
使用typescript开发angular模块(发布npm包)
【工具】发布NPM包
另外:后面会再总结一个系列,就是腾讯项目用到的技术点,有好多好多,可以供大家学习参考,让我们一起进步
神仙朱
2020/07/10
1K0
规范升级 NPM 包
在日常工作中,当组件跨项目使用时,我们往往会选择把组件抽成 npm 包。那么在 npm 开发以及发布的过程中有什么需要注意的事项吗?本文将从我自己的角度,来为大家介绍一下我认为的一些需要大家注意的点。
政采云前端团队
2022/12/01
8350
规范升级 NPM 包
nodejs常用npm包
用户1141560
2017/12/26
2.4K0
如何发布npm包
1、npm是什么? NPM (node package manager),通常称为node包管理器。顾名思义,它的主要功能就是管理node包,包括:安装、卸载、更新、查看、搜索、发布等。 npm 可以让 JavaScript 开发者在共享代码、复用代码以及更新共享的代码上更加方便。 当一个 JavaScript 开发者为了解决某个问题而编写了一些代码并将其共享出来的话,其他的开发者能够在自己的应用程序中复用这些代码,npm 让这些事情变得简单。 如果你使用了其他开发者开发的代码,你就可以很方便地使用 npm
小胖
2018/06/27
1.4K0
为什么 MySQL 不推荐使用 join?
作者:李博 , 链接: https://cnblogs.com/liboware/p/12740901.html
Java小咖秀
2021/04/07
2.2K0
为什么 MySQL 不推荐使用 join?
小程序构建npm---miniprogarm_npm包
接下来在左上角 --工具--构建npm 成功之后就可以看到项目中有了miniprogram_npm文件夹了
安德玛
2022/03/04
1.4K0
为什么不建议使用goto语句
现在老师上课基本上不怎么讲goto语句,很多文章也提到不建议使用,那到底是为什么呢?
用户6755376
2020/04/01
2.4K0
为什么不推荐使用存储过程?
之所以有这个题目,我既不是故意吸引眼球,也不想在本文对存储过程进行教科书般论述。最近项目中遇到的存储过程问题,让我想起了去年在武汉出差时一位同事的发问:
芋道源码
2019/11/29
2.1K0
到底为什么不建议使用SELECT * ?
“不要使用SELECT *”几乎已经成为了使用MySQL的一条金科玉律,就连《阿里Java开发手册》也明确表示不得使用*作为查询的字段列表,更是让这条规则拥有了权威的加持。
蝉沐风
2022/08/22
8370
到底为什么不建议使用SELECT * ?
为什么不建议你使用SELECT *
“不要使用SELECT *”几乎已经成为了MySQL使用的一条金科玉律,就连《阿里Java开发手册》也明确表示不得使用*作为查询的字段列表,更是让这条规则拥有了权威的加持。
蝉沐风
2022/08/05
2.6K2
为什么不建议你使用SELECT *
JSLint,JSHint,ESLint对比
最近在用React写项目,但是我的Vim配置之前并没有配置对JSX和ES6的支持,然后看着那堆报错各种不爽了,于是还是要继续折腾,顺便也增加了点知识,记录一下。
Jintao Zhang
2018/08/27
4K0

相似问题

用文本覆盖旧文本更新DOM节点

12

如果某个特定节点是文本节点,如何使用Xpath选择它?

12

如何从DOM节点获取文本节点?

30

如何检索DOM文本节点的文本?

15

如果我知道节点是< id >,那么如何立即匹配它

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档