-4

我正在尝试获取 ConditionalFreqDist 但 Python 在第三行一直给我一个语法错误(对于 .. 中的类别)。我无法弄清楚问题,任何想法(我是初学者)。

 def persoonlijkvnw(mijn_corpus):
    cfd = nltk.ConditionalFreqDist(category,word)
    for category in mijn_corpus.categories()
    for word in mijn_corpus.words(categories=category)
    category = mijn_corpus.categories()
    persoonlijke_vnw = ['ik','jij','hij','wij','jullie','zij']
    cfd.tabulate(conditions=category, samples=persoonlijke_vnw)
4

1 回答 1

1

首先,有关基本语法的信息,您可能应该参考 Python 教程。

我将引用有关复合语句的官方文档:

复合语句由一个或多个“从句”组成。一个子句由一个标题和一个“套​​件”组成。特定复合语句的子句标题都处于相同的缩进级别。每个子句标题都以唯一标识关键字开头,并以冒号结尾。套件是由子句控制的一组语句。一个套件可以是一个或多个分号分隔的简单语句,位于与标题相同的行上,位于标题的冒号之后,也可以是一个或多个缩进语句,位于后续行中。只有后一种形式的套件可以包含嵌套的复合语句

(重点是我的)。

正如您从同一页面中看到的那样,for循环也是一个复合语句,并且由于在您的情况下“套件”与“标题”不在同一行,因此它们应该缩进。此外,“标题”的末尾需要一个冒号。

没有缩进,我们不能说循环体在哪里结束,但我提到的可能只是这段代码问题的一部分。

例如,category变量用作外部循环计数器,但在循环中重新分配。这不是语法错误,但可能是也可能不是作者的疏忽。

于 2013-01-24T21:15:03.170 回答