> 文档中心 > 【Python习题】二分法求平方根B(保姆级图文+实现代码)

【Python习题】二分法求平方根B(保姆级图文+实现代码)

目录

    • 题目
    • 思路
    • 代码
    • 实现效果
    • 总结

主要内容是校设课程的习题和课外学习的一些习题。

欢迎关注 『Python习题』 系列,持续更新中
欢迎关注 『Python习题』 系列,持续更新中

题目

描述
设计一个用二分法计算一个大于或等于 0 的实数 n 的平方根的函数sqrt_binary(n),实数 n和计算精度(abs(x*x - n) )控制由用户在同一行内输入,用逗号进行分隔,输出结果保留8位小数。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

注:初始区间取[0,n+0.25]‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

输入格式
在同 行内输入一个实数 n(大于或等于0)和一个代表精度的数字(可用1e-m格式输入)‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

输出格式
第一行输出用自己设计的函数计算得到的平方根‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

第二行输出用math库开平方函数计算得到的平方根‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

输入输出示例
输入 :

5.0,1e-7

输出:

2.236067962.23606798

思路

参考答案的有个精度本来是用我们输入的,但是代码里写成固定的固定值了。

要修改成我这样的传参进去:
在这里插入图片描述
【Python习题】二分法求平方根B(保姆级图文+实现代码)


代码

import mathdef sqrt_binary(num,jingdu):    low, high = 0, num + 0.25    while True: x = (high + low) / 2 if abs(x * x - num) <= jingdu:     return x elif x * x - num < 0:     low = x else:     high = xnum = list(map(float,input().split(",")))print('{:.8f}'.format(sqrt_binary(num[0],num[1])))print('{:.8f}'.format(math.sqrt(num[0])))

实现效果

【Python习题】二分法求平方根B(保姆级图文+实现代码)


总结

大家喜欢的话,给个👍,点个关注!给大家分享更多有趣好玩的Python习题!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2022 mzh

Crated:2022-3-1

欢迎关注 『Python习题』 系列,持续更新中
欢迎关注 『Python习题』 系列,持续更新中

【更多内容敬请期待】