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

 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

猜你喜欢

转载自www.cnblogs.com/monsterhy123/p/12900873.html