该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
import random
import math
def length(point,point1):
x=math.pow(point[0]-point1[0],2)
y=math.pow(point[1]-point1[1],2)
z=x+y
length=math.sqrt(z)
return length
model=[]
modeldone=[0 for i in range(1000)]#生成长度为1000初值为0的列表来存放距离最小的点modellength=[0 for i in range(1000)]#生成长度为1000初值为0的列表来存放最小距离
temp=()
minlength=0 #最小距离i=0
#生成包含取值在0~1000的1000个坐标点的列表
while(i<1000):
model.append((random.randint(0,1000),random.randint(0,1000)))
i=i+1
#筛选出距离最短的点
for x in range(1000):
temp=model[x]
i=0
#得到一个与temp不等点,作为minlength的初值
while(temp==model[i]):
i=i+1
minlength=length(temp,model[i])
#在model中筛选出与temp不等且距离最小的点
for y in model:
if(temp==y):
continue
else:
if(minlength>length(temp,y)):
minlength=length(temp,y)
modeldone[x]=y
modellength[x]=length(temp,y)
print(modeldone)
print(modellength)
2维坐标的情况大概如此了,有瑕疵,希望各位指正