Skip to main content
 首页 » 编程设计

python之一个非常短的代码,但 python 中的语法无效

2025年05月04日15bluestorm

def decode(string): 
    L=float(string[0]) 
    if (L==4): 
        messageFrom4=[[string[0::L], string[1::L], string[2::L], string[3::L]] 
        return messageFrom4 
    if L!=4: 
        return messageFrom4[0:L] 

第二个返回被突出显示,“无效语法错误”是它不会运行的问题。

请您参考如下方法:

这一行有一个额外的 [ 导致了问题:

messageFrom4=[[string[0::L], string[1::L], string[2::L], string[3::L]] 
              ^ 
             here 

试试这个,注意 L 如果要用作切片索引则必须是整数,使用 else 是个更好的主意如果条件互斥:

def decode(string): 
    L=int(string[0]) 
    if L==4: 
        messageFrom4=[string[0::L], string[1::L], string[2::L], string[3::L]] 
        return messageFrom4 
    else: 
        return string[0:L]