# -*- coding: cp936 -*- pre_n = '010010000100001100000000000000000000000001010001001001001010000101' print '编码过程……………………' length = len(pre_n) pre_list = list(pre_n) for ch in range (0,length): pre_list[ch] = int (pre_list[ch]) store_list = pre_list print pre_list ich = -1 ; for ch in range (0,length): if pre_list[ch] == 1 : ich = ich * (-1) pre_list[ch] = pre_list[ch]*ich; print pre_list pre_flag_num = 0; flag_zero = 0; for ch in range (0,length): if pre_list[ch] <> 0 : flag_num = pre_list[ch]; flag_zero = 0; else: flag_zero += 1; if flag_zero == 4 : if flag_num == pre_flag_num : pre_list[ch-3] = flag_num * -1; pre_list[ch] = flag_num * -1; pre_flag_num = flag_num * -1; for ch_temp in range(ch+1,length): pre_list[ch_temp] = pre_list[ch_temp] * -1 else: pre_list[ch] = flag_num ; pre_flag_num = pre_list[ch]; flag_zero = 0; print pre_list,'\n 解码过程………………' flag_zero = 0; for ch in range (0,length): if flag_zero == 2 : if flag_num == pre_list[ch]: flag_zero = 0 for ch_temp in range(ch-3, ch+1): pre_list[ch_temp] = 0; if flag_zero == 3 : if pre_list[ch] <> 0 : flag_zero = 0; for ch_temp in range(ch-3, ch+1): pre_list[ch_temp] = 0; if pre_list[ch] <> 0 : flag_num = pre_list[ch] flag_zero = 0; else: flag_zero += 1; pre_list[ch] = abs(pre_list[ch]) print pre_list if pre_list is store_list: print "Successed ..."
这是python 2.x 版本的代码,如果你系统安装的是python 3.x 版本的话
把
print '编码过程……………………'
改成
print('编码过程……………………')
试试
还有 <> 改成 !=
请用代码控件贴代码。。。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632