使用ConditionalFreqDist时出现语法错误

时间:2013-01-24 20:57:15

标签: python

我正在尝试获取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)

1 个答案:

答案 0 :(得分:1)

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

我将引用compound statements上的官方文档:

  

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

(重点是我的)。

正如您在同一页面上看到的那样,for循环也是is a compound statement,因为在您的情况下,“套房”与“标题”不在同一行,它们应该缩进。此外,“标题”末尾需要冒号。

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

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