Python用二分法求平方根

好了,正如标题所示,我们今天要用二分法来求平方根。

首先要有数字,但是老是有人写字符串该怎么办呢?
大家也可以不写

# 老是有人在写数学题的时候打字符串
try:
    x = int(input('please enter a whole number to measure to square root:'))
except:
    print('=)')

然后是重点,计算与初始化。
上图!(假装有经费可以加BGM)
在这里插入图片描述

# 初始化 start end
start = 0
end = x

这是初始化。
在这里插入图片描述

# 开始测量
for book in range(100):
    half = (end+start)/2
    sqrt = half**2
    
    # 判定
    if sqrt < x:
        start = half
    if sqrt >= x:
        end = half
# 打印
print('平方根等于:',end)

这是重点,我们用 for循环即可(我是不会告诉你我不会用while干这个事情),开始测量,将end 和 start 相加,然后除二,赋值给half,求出half的平方,将它赋值给sqrt。判定,如果sqrt<x,将刚刚得到的 half 赋给 start,如果不,将 half 赋给 end。最后打印结果,就是end。

最后感谢一下我的朋友段某,他跟我讨论了二分法。

打完收工,下课


版权声明:本文为Jay_Lee99原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。