import math
#求两个点(x1,y1),(x2,y2)之间的距离
def getDis(x1,y1,x2,y2):
return math.sqrt((x1-x2)**2 + (y1-y2)**2)
#使用闭包求距离
def getDisOut(x1,y1):
def getDisIn(x2,y2):
return math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2)
return getDisIn
#求点分别求(10,10),(20,20) 距离原点(0,0)的距离
dis = getDis(0,0,10,10)
print("(10,10)距离原点的距离为:%g"%dis)
dis = getDis(0,0,20,20)
print("(20,20)距离原点的距离为:%g"%dis)
print("———"*20)
getDisIn = getDisOut(0,0)
dis1 = getDisIn(10,10)
print("(10,10)距离原点的距离为:%g"%dis1)
dis1 = getDisIn(20,20)
print("(20,20)距离原点的距离为:%g"%dis1)
如果读者对闭包的知识点不是很熟悉,可以看我的上一篇博客。https://blog.csdn.net/LYL1150475496/article/details/107073175。首先,不用闭包来求俩点的距离。利用闭包来求距离,无疑会使自己的代码瞬间变得高大上。
转载请注明原文地址:https://ipadbbs.8miu.com/read-19321.html