为什么 Python 没有完成 def 语句?

why Python isn't completing the def statement?

仍在使用 Python 开始我的旅程,所以这是一个我不明白的简单问题。

尝试从此处使用 Ziggy 对 Cramer 的 V 统计量的定义声明: Using pandas, calculate Cramér's coefficient matrix

但是当我把它放入 Python 时,定义并没有在 return:

处结束
>>> import pandas as pd
>>> def cramers_corrected_stat(confusion_matrix):
...     # calculate Cramers V statistic for categorial-categorial association.
...     # uses correction from Bergsma and Wicher,
...     # Journal of the Korean Statistical Society 42 (2013): 323-328
...
...     chi2 = ss.chi2_contingency(confusion_matrix)[0]
...     n = confusion_matrix.sum()
...     phi2 = chi2/n
...     r,k = confusion_matrix.shape
...     phi2corr = max(0, phi2 - ((k-1)*(r-1))/(n-1))
...     rcorr = r - ((r-1)**2)/(n-1)
...     kcorr = k - ((k-1)**2)/(n-1)
...     return np.sqrt(phi2corr / min( (kcorr-1), (rcorr-1)))
...

我没看到什么?

当你在 REPL 中时,你需要两个连续的空行来完成语句。但是在REPL中写代码是相当麻烦的,因为你不能轻易地edit/fix以前写过的代码,所以我建议你把你所做的任何事情都保存到.py文件中,在那里你可以编辑更多的代码很容易然后 运行 通过 python ./myfile.py.

的代码