RC4算法实施期间出现语法错误

时间:2019-10-29 14:02:07

标签: python if-statement printing

我正在尝试在网上找到的python中修改RC4算法的实现,并且在使用if循环代替while循环时遇到语法错误,有人可以告诉我为什么吗?

def PRGA(S):
    i = 0
    j = 0
    if i==0 & j==0:    # here it was originally while True:, so I changed it to if statement
        i = (i + 1) % 256
        j = (j + S[i]) % 256

        S[i], S[j] = S[j], S[i]  # swap values
        K = S[(S[i] + S[j]) % 256
        print ('K')    # and here it was yield K
    else:
        print ('error')

1 个答案:

答案 0 :(得分:0)

    K = S[(S[i] + S[j]) % 256

具有不平衡的括号……与使用if循环代替while循环无关。

  

我尝试在末尾添加该括号,这给了我索引错误:列表索引超出范围

发布的代码缺少Key-scheduling algorithm (KSA)部分,该部分用于初始化数组“ S”中的排列。