Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
def dt2(x,y):
uu=0;
for i in range(len(x)-3):
uu4=1;
uu1=abs(((x[i]/x[i+1]))-((y[i]/y[i+1])));
uu2=abs(((x[i]/x[i+2]))-((y[i]/y[i+2])));
uu3=abs(((x[i]/x[i+3]))-((y[i]/y[i+3])));
uu+=(uu1+uu2+uu3)
return uu;
Есть данные за 2 дня мая 2005 года 2 дня мая 2006 года. Цель найти в сумме 1440 сравнений[60*24] звездный год.
Подготовка ввода данных радиоактивного распада.
import math
import random
from statistics import mean
koeff=60;
matrix = [line.strip() for line in open('/users/andrejeremcuk/downloads/0505.txt')];
matrix1 = [line.strip() for line in open('/users/andrejeremcuk/downloads/0506.txt')];
matrixd = [line.strip() for line in open('/users/andrejeremcuk/downloads/days.dat')];
arra=[[ 0 for e in range(koeff)] for t in range(int(len(matrix)/koeff))];
arra1=[[ 0 for e in range(koeff)] for t in range(int(len(matrix)/koeff))];
arrad=[[ 0 for e in range(koeff)] for t in range(int(len(matrixd)/koeff))];
for i in range(len(matrix)): matrix[i]=int(matrix[i]);matrix1[i]=int(matrix1[i]);
for i in range(len(matrixd)): matrixd[i]=int(matrixd[i]);
z=0;
for jk in range(int(len(matrix)/koeff)): #int(len(matrix)/koeff)
for mk in range(koeff): arra[jk][mk]=float(matrix[z]);arra1[jk][mk]=float(matrix1[z]);z=z+1;
z=0;
for jk in range(int(len(matrixd)/koeff)):
for mk in range(koeff): arrad[jk][mk]=float(matrixd[z]);z=z+1;
def distt(rast):
statistic=0;
for jk in range(1440):
x=arra[jk];y=arra1[jk+rast];
statistic+=dt2(x,y);
return statistic;
Результаты выполнения кода - на гитхабе подсчитаны все значения от +1 минуты до + 1440 минут сдвиг 2005 года от 2006 года.
>>> distt(369)
30142.867396646434
>>> distt(368)
29888.11808805372-Наименьшее значение из всех сдвигов от 0 до +1440 минут
>>> distt(367)
30128.959797342242
>>> distt(366)
30139.531482650476
>>> distt(365)
30080.92313005219
>>> distt(364)
30119.64335915869
>>> distt(363)
30192.614068153922
>>> distt(362)
30054.03651908298
>>> distt(361)
30053.5344380305
>>> distt(360)
30019.741597642616
>>> distt(359)
30104.687833185995
>>> distt(358)
30210.36149590906