已知有随机生成的十个坐标点,想输出最大距离的两个坐标点,用for i in range写,想问怎么写
2条回答 默认 最新
关注>>> import random >>> xs = [random.random()*2-1 for i in range(10)] # 随机生成[-1,1)之间的10个x坐标 >>> ys = [random.random()*2-1 for i in range(10)] # 随机生成[-1,1)之间的10个y坐标 >>> dist, indexs = list(), list() # 保存点和点之间的距离和索引序号 >>> for i in range(9): for j in range(i+1, 10): dist.append(pow(pow(x[i]-x[j],2) + pow(y[i]-y[j],2), 1/2)) indexs.append((i,j)) >>> d_max = max(dist) # 求最大距离 >>> d_max 2.090673493728691 >>> i_max = dist.index(d_max) # 返回最大距离的序号 >>> i_max 16 >>> indexs[i_max] # 返回最大距离的两个点的索引 (1, 9)本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报