问答题 3.  给定一个数n,求出它的平方根,比如16的平方根为4。要求不能使用库函数。
【正确答案】正数n的平方根可以通过计算一系列近似值来获得,每个近似值都比前一个更加接近准确值,直到找出满足精度要求的那个数位置。具体而言,可以找出第一个近似值是1,接下来的近似值则可以通过下面的公式来获得:ai+1=(ai+n/ai)/2。实现代码如下:
   #获取n的平方根, e为精度要求
   def squareRoot(n,e):
   new_one=n
   last_one=1.0 #第一个近似值为1
   while new_one-last_one>e:#直到满足精度要求为止
   new_one=(new_one+last_one)/2# 求下一个近似值
   last_one=n/new_one
   return new_one
   
   if __name__=="__main__":
   n=50
   e=0.000001
   print str(n)+"的平方根为"+str(squareRoot(n,e))
   n=4
   print str(n)+"的平方根为"+str(squareRoot(n,e))
   程序的运行结果为:
   50的平方根为7.071068
   4的平方根为2.000000
【答案解析】[考点] 如何在不能使用库函数的条件下计算n的平方根