是什么导致我的Python脚本中出现这种无效语法错误?

2024-05-04 17:03:13 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么我试着运行它时“else”部分被标记为红色?上面写着“无效语法”。你知道吗

def interseccion(lista, lista2, resultado=[]):
if lista != []:
    if lista[0] in lista2:
        return interseccion(lista[1:], lista2, resultado+[lista[0]]
    else:                 
        return interseccion(lista[1:], lista2, resultado]

return resultado

Tags: in标记returnifdef语法else红色
2条回答

您必须在两个return语句中关闭括号:

return interseccion(lista[1:], lista2, resultado+[lista[0]])

以及

return interseccion(lista[1:], lista2, resultado)

而且if lista != []:更惯用地写为if lista:。你知道吗

我不太确定你是否希望resultado在默认情况下是一个空列表!也许默认值应该是None,然后您可以指定:

if resultado is None:
    resultado = []

一开始。你知道吗

特定错误是由于缺少右括号造成的:

    return interseccion(lista[1:], lista2, resultado+[lista[0]] ) <  that parenthesis is needed

相关问题 更多 >