Загрузка данных


import math
def kinet(vx, vy, m):
    return 0.5*m*(vx**2+vy**2)

def center(kl):
    minr = float('inf')
    for i in range(len(kl)):
       s=0
       for j in range(len(kl)):
          if i!=j:
             r = abs(kl[i][2]-kl[j][2])
             s+=r
       if s<minr:
          minr=s
          center = kl[i]
    return center

def rast(kl):
    maxx=0
    for x in kl:
       #x1, y1 = x[:2]
       for y in kl:
          #x2, y2 = y[:2]
          if x[-1]=='II' and y[-1]=='II':
             r=math.dist(x[:2], y[:2])
             if r>maxx:
                maxx=r
    return maxx

with open('27_31521.txt') as f:
    n=[[float(x.replace(',', '.')) \
           if ',' in x else x for x in line.split()] \
       for line in f]
print(n[:2])
sp = []
for line in n:
    x, y, vx, vy, m, har = line
    sp.append([x,y, kinet(vx, vy, m), har])
print(sp[:2])
sp.sort(key = lambda x:x[2])
kl =[]
i=j=0
while i<len(sp):
    if abs(sp[i][2]-sp[j][2])>2:
       kl.append([sp[x] for x in range(i, j)])
       i=j
    j+=1
    if j==len(sp):
       kl.append([sp[x] for x in range(i, j)])
       break
print(len(kl[0][:2]))
cnt1 = center(kl[0])
cnt2 = center(kl[1])
cnt3 = center(kl[2])
cnt4 = center(kl[3])
Q1=0
print(cnt1, cnt2, cnt3, cnt4)
r1 = rast(kl[0])
r2 = rast(kl[1])
r3 = rast(kl[2])
r4 = rast(kl[3])
print(r1, r2, r3, r4)
for x in kl:
    mr = rast(x)
    if mr>Q1:
       Q1 = mr
print(Q1*10_000)
Q2 = max(cnt1[2], cnt2[2],cnt3[2], cnt4[2])
print(Q2*10_000)