Author: Notus(hehe_xiao@qq.com)

Create: 2019-02-23

Update: 2019-02-23

巴比伦平方根算法

环境

Python version: 3.7.1

代码如下(a.py)

'''

巴比伦平方根算法实现。

@Author: Notus(hehe_xiao@qq.com)

@Create: 2019-02-23

@Update: 2019-02-23

@Version: 0.1

算法步骤:

1. 猜测数字的平方根。

2. 用猜测的数字除原数。

3. 计算步骤2的商与猜测数的平均值

4. 将第3步的平均值再作猜测(当成新猜测值,继续猜测)

5. 如果新的猜测值与旧的猜测值不同(即上一猜测值,用他们的差值是否大于公差来判断);否则停止

'''

import math

num_str = input("输入需要计算平方根的整数:")

while not num_str.isdigit():

num_str = input("非法输入!\n请重新输入一个整数:")

number_int = int(num_str)

guess_str = input("输入猜测值:")

while not guess_str.isdigit():

guess_str = input("非法输入!\n请重新输入一个猜测数(浮点数):")

guess_float = float(guess_str)

original_float = guess_float

tolerance_float = float(input("请输入一个公差(浮点数):"))

previous_guess = 0

count_int = 0

while math.fabs(previous_guess - guess_float) > tolerance_float:

previous_guess = guess_float

quotient = number_int / guess_float

guess_float = (quotient + guess_float) / 2

count_int += 1

print("{0} 的平方根为: {1}".format(number_int, guess_float))

print("公差为 {}".format(tolerance_float))

print("共猜测了 {} 次".format(count_int))

print("原猜测为 {}".format(original_float))

运行结果

C:\Users\Notus\Desktop>python a.py

输入需要计算平方根的整数:2

输入猜测值:1

请输入一个公差(浮点数):0.000000000000001

2 的平方根为: 1.414213562373095

公差为 1e-15

共猜测了 6 次

原猜测为 1.0

python计算平方根算法_每日一程-16.python-巴比伦平方根算法相关推荐

  1. 粒子群优化算法_每日论文19:粒子群优化算法综述

    每日论文 第十九篇 2020/07/27 摘要:粒子群优化 (PSO)算法是一种新兴的优化技术 ,其思想来源于人工生命和演化计算理论.PSO通过粒子追随自己找到的最好解和整个群的最好解来完成优化.该算 ...

  2. python 计算当月天数_告诉你怎么用Python进行企业营运分析!盈利这么多?

    告诉你怎么用Python进行企业营运分析 内容导入: 大家好,这里是每天财务转一转.Python的应用领域现在非常的广泛,随着会计与财务智能化的步伐加快,Python数据分析在财务分析与投资决策中会占 ...

  3. 萤火虫算法_每日论文38:基于改进萤火虫算法的分布式电源优化配置

    每日论文 第三十八篇 2020/08/26 摘要:在分析分布式电源特性的基础上,建立了含分布式电源的购电成本最小.网损费用最小.投资成本最小以及电压稳定裕度最大的多目标优化模型,能够比较实际.科学地反 ...

  4. python新手入门教程思路-Python新手入门教程_教你怎么用Python做数据分析

    Python新手入门教程_教你怎么用Python做数据分析 跟大家讲了这么多期的Python教程,有小伙伴在学Python新手教程的时候说学Python比较复杂的地方就是资料太多了,比较复杂.很多网上 ...

  5. python路线寻优_基于DEAP库的Python进化算法从入门到入土 --(四)遗传算法的改进...

    前言 前面一节我们尝试了用GA求解TSP问题,简单遗传算法总是不能很好收敛到一个较优的解,在用时和求解精度上都被贪心算法吊打.在末尾我们总结了三个可能的改进方向,这次我们想要沿着这三个方向试着改进简单 ...

  6. python50种算法_收藏 | 一文洞悉Python必备50种算法(附解析)

    本文是一些机器人算法(特别是自动导航算法)的Python代码合集. 其主要特点有以下三点:选择了在实践中广泛应用的算法:依赖最少:容易阅读,容易理解每个算法的基本思想.希望阅读本文后能对你有所帮助. ...

  7. python 两阶段聚类_挑子学习笔记:两步聚类算法(TwoStep Cluster Algorithm)——改进的BIRCH算法...

    转载请标明出处:http://www.cnblogs.com/tiaozistudy/p/twostep_cluster_algorithm.html 两步聚类算法是在SPSS Modeler中使用的 ...

  8. python计算圆周率代码_使用 Python 计算 π 值

    π是一个无数人追随的真正的神奇数字.我不是很清楚一个永远重复的无理数的迷人之处.在我看来,我乐于计算π,也就是计算π的值.因为π是一个无理数,它是无限的.这就意味着任何对π的计算都仅仅是个近似值.如果 ...

  9. python计算召回率_分词结果准确率、召回率计算-python

    原博文 2016-06-19 13:01 − 使用python计算crf根据模型的分词结果的准确率,召回率和F值 测试文件output.txt,第一列是字,第二列是人工标注的分词结果,第三列是根据模型 ...

最新文章

  1. 实战:CNN+BLSTM+CTC的验证码识别从训练到部署 | 技术头条
  2. 常用的Linux服务器各项性能指标查看方法!
  3. 打开一个解决方案时弹出“项目所需的应用程序未安装,确保已安装项目类型(.csproj)的应用程序”问题的解决方案
  4. WPS 去掉自动打开的文档漫游和在线模板
  5. CleanAOP实战系列--WPF中MVVM自动更新
  6. 从一个提问引发到你是怎么看待编程语言是一种工具这句话的?【笔记自用】
  7. Java中使用递归算法实现查找树形结构中所有父级和子级节点
  8. Delphi开发单机瘦数据库程序要点
  9. 基于阿里云镜像源使用kubeadm安装k8s单master节点集群(v1.17.3)
  10. linux中top性能分析工具中的TIME+
  11. yolo算法的优缺点分析_yolo算法介绍
  12. AWS re:Invent大会回顾
  13. 第二阶段团队站立会议02
  14. python批量写入数据库_python实现数据库批量数据插入.
  15. 小菜找实习——阿里3月27日场笔试第一题
  16. Java的深拷贝 vs 浅拷贝
  17. 直播网站源码,输入框中显示小图标
  18. PHP读dwg,dwg文件阅读器
  19. Nginx之读写分离
  20. 口袋之旅html5超强账号,《口袋之旅H5》攻略:各大排行榜冲榜攻略

热门文章

  1. 从商品溯源到历史载录,区块链技术的革新
  2. 使用Matplotlib简单绘图
  3. 海思3518E sample的整体架构venc层源码分析
  4. 【读论文】A Deep Neural Network for Unsupervised Anomaly Detection and Diagnosis in Multivariate Time...
  5. GIS作业问题:地图打包出错
  6. 使用pydub的坑-----Permission denied: 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\tmpmt80te3g.wav'
  7. 2019年中国互联网企业100强发展报告
  8. Android Studio入门级UI界面设计(图文+解析)
  9. 涛思数据TDengine启动报错,提示localEp is different from localhost.localdomain:6030
  10. 机器人 郭启寅_华昌达进军机器人