初学Python案例之一(开平方代码)

本文探讨了使用Python实现开平方根的算法,基于希罗的算法,强调计算机的顺序执行特性。作者鼓励初学者仅使用if else写出相应代码,分享了一段用for循环实现的案例,并提供了改进思路,同时指出计算机执行的本质是顺序的,无论while、for都是可展开的顺序执行,引发对编程基础的思考。
摘要由CSDN通过智能技术生成
这是网友@石头提交的答案,对初学者很有参考价值。请注意,计算机编程解决问题,代码不一样,有好多种方案,很正常。题目是这样的(现在为了探讨,题目略作变化),给定一个自然数,求出它的平方根,答案可以保留小数到两位,也可以更多,随意。后来为了简化,可能又简化到了答案也必须是自然数,@石头的答案显然可能受这个约束,请你将上述代码在自己电脑上运行,可能的话,在里面插入几个print来看看里面究竟发生了什么。

我们今天讨论,更正为答案可以是小数,小数点后面随意。
在互动交流之初,笔者跟大家分享了古代希罗的算法,注意,他生活在古代,那时候,没有计算机。所以是一种手工计算的方式,大体是这样的,给定一个数 x,要求给出计算其平方根的算法,注意是算法,而据说希罗就是给出算法的第一人,算法这个词应该是希罗之后才开始使用的词汇。所以这里我们说,给出一些计算的方法,以求得这个平方根。希罗的方法是这样的,随机选择一个数g, 然后验证是否是答案(验证的标准我们暂定为答案和给定数之间的差,要么大于1和要么小于1中的第一个数),如果符合标准,我们停止计算,宣布这就是答案,如果不符合标准,就套用这个公式 g = (g + x/g)/ 2, 得出的g, 重新验证,看是否符合答案标准,如果符合,结束计算,宣布答案。如果没有符合标准,继续这么做,你说是循环也好,顺序也好,在这里并没有什么差别。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UncleMark编程

获取价值后的回馈,谢谢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值