2013-10-22 28 views
-2

嗨我有问题,因为此功能创建我想要的数字,但也产生None。我应该怎么写这段代码不会产生NONE如何让这个功能不消失?

def binary (str): 
    b = [] 
    for x in str: 
     b.append(format(ord(x), 'b')) 
    return ((b)) 
clave = "1001001000010001001000110111111100110000100011001010100000110001110110011111010010011111000011111001000011101011001101000001110010011110010110000000" 

c = list(clave) 
msg = binary("Lol") 
print("".join(msg)) 
m = list("".join(msg)) 
print("Now the right") 

def OTP(m,c):  
    for i in range (0,len(m)): 
     if c[i]== "1" and m[i]== "1": 
      m.pop(i) 
      m.insert(i,"0") 
     elif c[i] == "1" and m[i] == "0": 
      m.pop(i) 
      m.insert(i,"1") 
    return print("".join(m)) 

msg1 = OTP(m,c) 
print(msg1) 
+1

这不可能是你的代码:一旦我固定的缩进你,你可以从你有一条线一个无与伦比的报价高亮看到。请复制并粘贴您的实际代码。 – Duncan

+2

出于好奇 - 你和拉斐尔在同一课程? http://stackoverflow.com/questions/19497000/list-index-out-of-range-error –

回答

3

的OPT理由退换货没有一个因为您返回打印函数的返回结果 -

return print("".join(m)) 

这确实无。要获取字符串你应该只是做 -

return "".join(m)