-4

ConditionalFreqDist を取得しようとしていますが、Python は 3 行目で構文エラーを出し続けます (for category in ..)。問題やアイデアがわかりません(私は初心者です)。

 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 チュートリアルを参照する必要があります。

複合ステートメントに関する公式ドキュメントを引用します。

複合ステートメントは、1 つ以上の「句」で構成されます。句は、ヘッダーと「スイート」で構成されます。特定の複合文の句ヘッダーはすべて同じインデント レベルにあります。各句ヘッダーは一意に識別されるキーワードで始まり、コロンで終わります。スイートは、句によって制御されるステートメントのグループです。スイートは、ヘッダーと同じ行のヘッダーのコロンに続く、セミコロンで区切られた 1 つ以上の単純なステートメントにすることも、後続の行の 1 つ以上のインデントされたステートメントにすることもできます。後者の形式のスイートのみが、ネストされた複合ステートメントを含むことができます

(強調は私のものです)。

同じページからわかるように、forループも複合ステートメントです。この場合、「スイート」は「ヘッダー」と同じ行にないため、インデントする必要があります。また、「ヘッダー」の最後にはコロンが必要です。

インデントがなければ、ループ本体がどこで終了するかはわかりませんが、私が言及したことは、おそらくこのコードの問題の一部にすぎません。

たとえば、category変数は外側のループ カウンターとして使用されますが、ループ内で再割り当てされます。これは構文エラーではありませんが、作成者による見落としである場合とそうでない場合があります。

于 2013-01-24T21:15:03.170 に答える