好了,正如标题所示,我们今天要用二分法来求平方根。
首先要有数字,但是老是有人写字符串该怎么办呢?
# 老是有人在写数学题的时候打字符串
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)/2sqrt = half**2# 判定if sqrt < x:start = halfif sqrt >= x:end = half
# 打印
print('平方根等于:',end)
这是重点,我们用 for循环即可(我是不会告诉你我不会用while干这个事情),开始测量,将end 和 start 相加,然后除二,赋值给half,求出half的平方,将它赋值给sqrt。判定,如果sqrt<x,将刚刚得到的 half 赋给 start,如果不,将 half 赋给 end。最后打印结果,就是end。
最后感谢一下我的朋友段某,他跟我讨论了二分法。
打完收工,下课