Модуль выполнения кода для расчета евклидовых расстояний - PullRequest
0 голосов
/ 28 апреля 2020

Просто хотел опубликовать и, надеюсь, получить некоторую обратную связь, так как это, вероятно, самый первый модуль Python, который я написал. Какие изменения или улучшения вы бы сделали? Не удалось скомпилировать numpy в Windows, поэтому вместо этого использовалось вычисление расстояния basi c.

import sys
import math
import datetime
import time
#import numpy as np
import random

def getDistance(p1,p2):  
    dist = math.sqrt(((p2[0]-p1[0])**2)+((p2[1]-p1[1])**2))
    return dist

def run_test(numPts):
    #using numpy
    #coords = np.random.rand(numPts, 2) * 2
    coordsP1 = [(random.random()*2.0, random.random()*2.0) for _ in range(numPts)]
    coordsP2 = [(random.random()*2.0, random.random()*2.0) for _ in range(numPts)]
    start = time.time()
    #do stuff
    for x in range (0,numPts):
        p1=coordsP1[x]
        p2=coordsP2[x]
        myDist = getDistance(p1,p2)
        #print (str(myDist) +"\n")
    finish = time.time()
    print ("Total time taken  is now ",finish-start)


def main(num):

    run_test(num)

#Ctrl=Z to escape REPL in Windows
# if running from command line call main
if __name__ == '__main__':
    main(int(sys.argv[1]))# allows passing of arguments to main from the REPL

'''
REPL use
>>>from distanceCalc import *
>>>main(15)# number of distance calculations
'''
...