代码块在 Spyder (Anaconda3) 中不起作用

code blocks don't work in Spyder (Anaconda3)

我是 Python 的初学者,使用 Spyder 从 Anaconda3 编码。 我试图在 Spyder (Python 3.7) 中输入这样的代码。我在尝试拆分代码时按了 "Enter",缩进显示为自动。但它总是 returns 与 "SyntaxError: invalid syntax" 和 "SyntaxError: 'return' outside function"。 例如。 1

data = {'state':['Ohio','Ohio','Ohio','Nevada','Nevada','Nevada'],
        'year':[2000,2001,2002,2001,2002,2003],
        'pop':[1.5,1.7,3.6,2.4,2.9,3.2]}

当我在任一行按 F9 时,它 returns "SyntaxError: invalid syntax"。 例如。 2

def f(x):
    return pd.Series([x.min(),x.max()],index=['min','max'])

按F9到运行行,它returns"SyntaxError: unexpected EOF while parsing"。如果在第二行,它 returns "SyntaxError: 'return' outside function"。

此外,我还尝试在每行的末尾加上“\”。它也不起作用。并且从网页上发现,如果行以: 或 结尾,那么你不需要 \ 来分割。

但是!!!如果我删除了 'Enters' 并将所有内容都放在一行中而没有拆分,则它完全可以正常工作。 为什么我的 python 无法使用代码块?我怎样才能用 Anaconda3 修复它? 非常感谢~~~~

您可以在每行的末尾使用 \ 来告诉 Python 该行在下面继续:

data = {\
'state':['Ohio','Ohio','Ohio','Nevada','Nevada','Nevada'],\
'year':[2000,2001,2002,2001,2002,2003],\
'pop':[1.5,1.7,3.6,2.4,2.9,3.2]\
}

将字典分成多行看起来很漂亮,但这不是正确的语法。我也被像这样显示他们的词典的教程绊倒了:|

这可能不适用于 IDLE 以外的解释器。

问题是您需要 select 在按 F9 之前完成整个函数,如果您 select 只是其中的一部分,则会引发错误