Форум сайта python.su
88
x1 = x%2
Офлайн
0
В общем я разобрался во всем и программа заработала правильно, все таблицы линейных статистических аналогов построены верно.
Неделя изучения питона и 2 дня написания самой программы не прошли даром.
ВСЕМ СПАСИБО КТО ПОМОГАЛ))
a = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]#вспомогательный массив b = [[0] for i in range(16)]#вспомогательный массив c = [[0] for i in range(16)]#вход g = [[0] for i in range(16)]#выход Q1 = [[0]*15 for i in range(16)] B = [[0] for i in range(15)]#бэтта A = [[0] for i in range(15)]#альфа Q = [[0]for i in range(15)]#самое главное, линейный статистический аналог hel = [['Вход'],['Выход'],['(линейные статистические аналоги)Q:']]#вспомогательный массив print('_______') for i in range (16):#1-2 пункт b[i]=bin(a[i]) for i in range (16): c[i]=str(b[i]) d = len(str(b[i])) if d == 3: g[i] = [0,0,int(c[i][2])] c[i] = [0,0,0,int(c[i][2])] if d == 4: g[i] = [0,int(c[i][2]),int(c[i][3])] c[i] = [0,0,int(c[i][2]),int(c[i][3])] if d == 5: g[i] = [int(c[i][2]),int(c[i][3]),int(c[i][4])] c[i] = [0,int(c[i][2]),int(c[i][3]),int(c[i][4])] if d == 6: g[i] = [int(c[i][3]),int(c[i][4]),int(c[i][5])] c[i] = [int(c[i][2]),int(c[i][3]),int(c[i][4]),int(c[i][5])] B[i-1]=g[i] A[i-1]=c[i]#1-2 пункт for z in range (15): Q[z]=[[0]*15 for i in range(16)] #1-2 пункт #пункт 3. Вычисление и построение таблиц линейных статистических аналогов Q x1=0 x2=0 y1=0 y2=0 #пункт 3. Вычисление и построение таблиц линейных статистических аналогов Q g= [g[1],g[5],g[1],g[4],g[2],g[6],g[6],g[3],g[4],g[5],g[6],g[7],g[2],g[2],g[3],g[7]] for z in range (15): for i in range (16): for j in range (15): for s in range (4): if A[j][s] == 1 and A[j][s]==c[i][s]: x1=x1+1 if (x1%2)>0: x2 = 1 else: x2=0 x1 = 0 for t in range (3): if B[z][t]==1 and B[z][t]==g[i][t]: y1=y1+1 if (y1%2)>0: y2 = 1 else: y2 = 0 y1 = 0 Q[z][i][j] = x2^y2 y2 = 0 x2 = 0 #пункт 3 #(4 пункт) print ('A(альфа) =') for j in range (15): print(A[j],) for z in range (15): print ('B(бетта) =',B[z]) print (hel) for i in range (16): print (c[i],g[i],Q[z][i]) print('_______') #(4 пункт)
Отредактировано omon3 (Июль 31, 2015 01:12:01)
Офлайн