我正在尝试获取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)
答案 0 :(得分:1)
首先,有关基本语法的信息,您可能应该参考Python教程。
我将引用compound statements上的官方文档:
复合语句由一个或多个'子句组成。'子句由标题和'套件组成。'特定复合语句的子句标题都在相同的缩进级别。每个子句标题以唯一标识关键字开头,以冒号结尾。套件是由子句控制的一组语句。套件可以是与标题位于同一行的一个或多个以分号分隔的简单语句,位于标题的冒号后面,也可以是后续行中的一个或多个缩进语句。只有后一种形式的套件才能包含嵌套的复合语句
(重点是我的)。
正如您在同一页面上看到的那样,for
循环也是is a compound statement,因为在您的情况下,“套房”与“标题”不在同一行,它们应该缩进。此外,“标题”末尾需要冒号。
没有缩进,我们不能说循环体的结束位置,但我提到的可能只是这段代码存在的部分问题。
例如,category
变量用作外循环计数器,但在循环中重新分配。这不是语法错误,但可能是也可能不是作者的疏忽。