Войти
или
Зарегистрироваться
Маркетплейс
Курсы
Учебник
Учебник 2.0
ОГЭ/ЕГЭ
Олимпиады
Рубрикатор
Компилятор
Онлайн Компилятор
Компилятор Python с отладкой
Питон - Черепашка
Редактор HTML Code
SQLite Studio - работа с БД
Статья Автор:
Кочкаров Радмир
27
def fa(xy): x, y = xy if y > 10: return 1 return 2 def fb(xy): x, y = xy if(9<x<16) and (4<y<11): return 1 if(6<x<11) and (16<y<21): return 2 if (10 < x < 20) and (21 < y < 30): return 3 return 4 def dist(a,b): r=(a[0]-b[0])**2+(a[1]-b[1])**2 return r**0.5 def sdist(xy,kl): r=0 for a in kl: r+=dist(xy,a) return r return sum(dist(xy,p)for p in kl) def centroid(kl): ans, rans = kl[0], sdist(kl[0], kl) for pos in kl : r = sdist(pos, kl) if r < rans : ans, rans = pos, r return ans, rans #fname="/home/student/Загрузки/27-96a.txt" fname="/home/student/Загрузки/27-96b.txt" D={1:[],2:[],3:[],4:[]} A={} for s in open(fname): if len(s)==0:continue s=s.replace(",",".") x,y=s.split() xy=(float(x),float(y)) #i=fa(xy) i=fb(xy) D[i].append(xy) n, sx,sy = 0, 0 , 0 for k in D : if len(D[k]) < 10 : continue Kl = D[k] ans= centroid(Kl) A[k]=ans[0] print(A) xy=dist(A[1],A[2])*10000 xz=dist(A[1],A[3])*10000 zy=dist(A[3],A[2])*10000 #print((sx/n)*10000,(sy/n)*10000) print(xy,xz,zy) print(len(D[1]),len(D[2]),len(D[3]),len(D[4])) print(dist((0,3),(4,0)))
×
Загрузка...
Чтобы оставить комментарий, необходимо авторизоваться
💬
Пока нет комментариев. Будьте первым!
Печать