使用闭包求两点之间的距离

 1  """
 2   两个点 (x1,y1) (x2,y2)
 3   距离 math.sqrt((x1-x2)**2 + (y1-y2)**2)
 4 """
 5   import math
 6   def getDis(x1,y1,x2,y2):
 7       return math.sqrt((x1-x2)**2 + (y1-y2)**2)
 8   #求点(1,1)距原点之间的距离
 9   result = getDis(1,1,0,0)
10  print('点(1,1)距原点之间的距离',result)
11  
12  #求点(2,2)距原点之间的距离
13  result = getDis(2,2,0,0)
14  print('点(2,2)距原点之间的距离',result)
15  
16  #使用闭包求两点之间的距离
17  def getDisOut(x1,y1):
18      def getDisIn(x2,y2):
19          return math.sqrt((x1-x2)**2 + (y1-y2)**2)
20      return getDisIn
21  f = getDisOut(0,0)
22  result = f(1,1)
23  print('点(1,1)到点(0,0)之间的距离为:',result)
1 点(1,1)距原点之间的距离 1.4142135623730951
2 点(2,2)距原点之间的距离 2.8284271247461903
3 点(1,1)到点(0,0)之间的距离为: 1.4142135623730951
正是江南好风景
原文地址:https://www.cnblogs.com/monsterhy123/p/12900873.html