Уведомления

Группа в Telegram: @pythonsu

#1 Июль 30, 2015 23:44:28

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Найти в цикле ошибку(логика либо синтаксис)

x1 = x%2

Офлайн

#2 Июль 31, 2015 01:11:40

omon3
Зарегистрирован: 2015-07-16
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

Найти в цикле ошибку(логика либо синтаксис)

В общем я разобрался во всем и программа заработала правильно, все таблицы линейных статистических аналогов построены верно.
Неделя изучения питона и 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)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version