ting_shuo13 2021-04-18 16:12 采纳率: 95.5%
浏览 35
已采纳

小白自学pyth on

已知有随机生成的十个坐标点,想输出最大距离的两个坐标点,用for i in range写,想问怎么写

  • 写回答

2条回答 默认 最新

  • 天元浪子 优质创作者: python技术领域 2021-04-18 18:24
    关注
    >>> 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)
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?