好了,正如标题所示,我们今天要用二分法来求平方根。
首先要有数字,但是老是有人写字符串该怎么办呢?
# 老是有人在写数学题的时候打字符串
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版权协议,转载请附上原文出处链接和本声明。