• Python HDB3 AMI 编码与解码


     1 # -*- coding: cp936 -*-
     2 pre_n = '010010000100001100000000000000000000000001010001001001001010000101'
     3 print '编码过程……………………'
     4 length = len(pre_n)
     5 pre_list = list(pre_n)
     6 for ch in range (0,length):
     7     pre_list[ch] = int (pre_list[ch])
     8 store_list = pre_list
     9 print pre_list
    10 ich = -1 ;
    11 for ch in range (0,length):
    12     if pre_list[ch] == 1 :
    13         ich = ich * (-1)
    14     pre_list[ch] = pre_list[ch]*ich;
    15 print pre_list
    16 pre_flag_num = 0;
    17 flag_zero = 0;
    18 for ch in range (0,length):
    19     if pre_list[ch] <> 0 :
    20         flag_num = pre_list[ch];
    21         flag_zero = 0;
    22     else:
    23         flag_zero += 1;
    24     if flag_zero == 4 :
    25         if flag_num == pre_flag_num :
    26             pre_list[ch-3] = flag_num * -1;
    27             pre_list[ch] = flag_num * -1;
    28             pre_flag_num = flag_num * -1;
    29             for ch_temp in range(ch+1,length):
    30                 pre_list[ch_temp] = pre_list[ch_temp] * -1
    31         else:
    32             pre_list[ch] = flag_num ;
    33         pre_flag_num = pre_list[ch];
    34         flag_zero = 0;
    35 print pre_list,'\n 解码过程………………'
    36 flag_zero = 0;
    37 for ch in range (0,length):
    38     if flag_zero == 2 :
    39         if flag_num == pre_list[ch]:
    40             flag_zero = 0
    41             for ch_temp in range(ch-3, ch+1):
    42                 pre_list[ch_temp] = 0;
    43     if flag_zero == 3 :
    44         if pre_list[ch] <> 0 :
    45             flag_zero = 0;
    46             for ch_temp in range(ch-3, ch+1):
    47                 pre_list[ch_temp] = 0;
    48     if pre_list[ch] <> 0 :
    49         flag_num = pre_list[ch]
    50         flag_zero = 0;
    51     else:
    52         flag_zero += 1;
    53     pre_list[ch] = abs(pre_list[ch])
    54 print pre_list
    55 if pre_list is store_list:
    56     print "Successed ..."
  • 相关阅读:
    poj 1860 Currency Exchange(最短路径的应用)
    poj 2965 The Pilots Brothers' refrigerator
    zoj 1827 the game of 31 (有限制的博弈论)
    poj 3295 Tautology (构造法)
    poj 1753 Flip Game(枚举)
    poj 2109 (贪心)
    poj 1328(贪心)
    Qt 对单个控件美化
    Qt 4基础
    Bash Shell
  • 原文地址:https://www.cnblogs.com/Kaysin/p/3029729.html
Copyright © 2020-2023  润新知