Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from pyeda.inter import *
- numbers = [14, 29, 26, 20, 9, 19, 7, 14]
- # numbers = [30, 28, 24, 16, 1, 2, 5, 11, 23, 15, 30]
- # max 29 -- 5 D триггеров
- numbers_bin = []
- for num in numbers:
- bin_n = str(bin(num))[2:]
- bin_n = "0"*(5-len(bin_n)) + bin_n
- print(bin_n)
- numbers_bin.append(list(bin_n))
- print("Правило диагоналей выполняется?")
- # print(*numbers_bin)
- table = []
- for i, num in enumerate(numbers_bin):
- if i == len(numbers_bin) - 1:
- break
- row = num
- row += numbers_bin[i+1]
- f_1 = -1
- if row[4] == row[9] == '0':
- f_1 = '0'
- elif row[4] == row[9] == '1':
- f_1 = '1'
- elif row[4] == '0' and row[9] == '1':
- f_1 = 'u'
- elif row[4] == '1' and row[9] == '0':
- f_1 = 'd'
- row.append(f_1)
- table.append(row)
- print(*table, sep="\n")
- veich = [[25, 29, 13, 9, 24, 28, 12, 8],
- [27, 31, 15, 11, 26, 30, 14, 10],
- [19, 23, 7, 3, 18, 22, 6, 2],
- [17, 21, 5, 1, 16, 20, 4, 0]]
- veich2_f = [ [ -1 for p in i ] for i in veich ]
- veich2_d = [ [ -1 for p in i ] for i in veich ]
- # print(veich2)
- for i in range(4):
- for j in range(8):
- out = False
- try:
- pos = numbers.index(veich[i][j])
- except Exception as e:
- pos = -1
- if pos == -1:
- veich2_f[i][j] = '*'
- veich2_d[i][j] = '*'
- else:
- state = numbers_bin[pos][10]
- veich2_f[i][j] = state
- if state == '0' or state == '1':
- veich2_d[i][j] = state
- elif state == 'u':
- veich2_d[i][j] = '1'
- elif state == 'd':
- veich2_d[i][j] = '0'
- print()
- print(*veich2_f, sep='\n')
- print()
- print(*veich2_d, sep='\n')
- # for s in veich2_d:
- # print("".join(s))
- tbl = list("-"*32)
- for i, num in enumerate(numbers):
- if i == len(numbers) - 1:
- break
- state = numbers_bin[i][10]
- if state == 'u':
- state = '1'
- elif state == 'd':
- state = '0'
- tbl[num] = state
- Dstr = "".join(tbl)
- D = ttvars('Q', 5)
- D = truthtable(D, Dstr)
- func = espresso_tts(D)
- print(func)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement