Python 是一門廣泛應(yīng)用于數(shù)據(jù)分析、人工智能、計(jì)算機(jī)視覺(jué)等領(lǐng)域的編程語(yǔ)言。在 Python 中,可以輕松地實(shí)現(xiàn)數(shù)學(xué)計(jì)算,做到徒手開平方,下面我們一起來(lái)看一下代碼實(shí)現(xiàn)。
def sqrt(x): """ 徒手開平方 """ if x< 0: return "負(fù)數(shù)沒(méi)有實(shí)數(shù)平方根" elif x == 0: return 0 else: guess = x / 2 while True: result = guess * guess if abs(result - x)< 1e-6: return guess guess = (guess + x / guess) / 2
這里我們定義了一個(gè) sqrt 函數(shù),用于計(jì)算一個(gè)數(shù)的平方根。如果輸入的 x 小于 0,那么返回“負(fù)數(shù)沒(méi)有實(shí)數(shù)平方根”;如果為 0,返回 0;否則我們采用牛頓迭代方法計(jì)算平方根。具體而言,我們先假設(shè)一個(gè)估計(jì)值 guess,每次更新 guess 的值(通過(guò) guess 和 x / guess 的平均值),直到 guess 的平方與 x 的誤差小于 1e-6 為止,此時(shí) guess 就是 x 的平方根。
參考文獻(xiàn):
- https://www.runoob.com/python3/python3-square-root.html
- https://zh.wikipedia.org/wiki/%E7%89%9B%E9%A1%BF%E8%BF%AD%E4%BB%A3%E6%B3%95