Advertisement
Guest User

Untitled

a guest
Apr 4th, 2020
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.26 KB | None | 0 0
  1. # x,y,z - це три контрольних біта
  2. # вміст x,y,z - це позиції бітів від яких він залежить
  3. x = [1, 3]
  4. y = [0, 3]
  5. z = [1, 2, 3]
  6.  
  7. # функція приймає: arr - список (масив) 4 бітів які ми будемо кодувати , T -  це x або y або z
  8. def sum(arr, T):
  9.     suma = 0
  10.     # Приводимо до типу списка ( щоб навернека )
  11.     t = list(T)
  12.     array = list(arr)
  13.     # проганяємося по елементах списка
  14.     for i in range(len(array)):
  15.         # Якщо i включено в t - це тіпа чи ця позиція впливає на формування біта
  16.         if i in t:
  17.             suma += array[i]
  18.     return suma
  19.  
  20.  
  21. def res(suma2):
  22.     # ділимо з остачою на 2 , тіпа провірка чи парне чи ні . Якщо парна вертаємо 0 , якщо ні то 1
  23.     if suma2 % 2 == 0:
  24.         return 0
  25.     else:
  26.         return 1
  27.  
  28. def go(arr):
  29.     array = list(arr)
  30.    
  31.     result = []
  32.     result.append(res(sum(array,x)))
  33.     result.append(res(sum(array,y)))
  34.     result.append(res(sum(array,z)))
  35.  
  36.     return result
  37.  
  38. ags = [0,1,0,0]
  39. print(go(ags))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement