2016-09-24 12 views
0

私はプログラムに固執しています。私はコードの残りの部分に依存しているので、エラーのある部分だけを投稿することはできません。ですから、私は下のリンクに完全なコードを掲載しました。いいえのように見てください。 113と114.私がfs = fsa.final_stateを使用しているとき、私にエラー:AttributeError: 'int' object has no attribute 'final_state'が与えられています。しかし、エラーなしでprint("TEST", fsa.final_state)を使用することができ、出力も正しいです。あなたが理解していないコードの一部を尋ねてください。ありがとう。Python:AttributeError: 'int'オブジェクトに属性がありません 'final_stat

コード: https://repl.it/Dfey/7

答えて

0

私はあなたのコードを見てきました。

print("'%s'\t%s" % (input, NDRecognize(input, days))) 

あなたがNDRecognizeにパラメータを渡すdays:ここでは、この行で。しかし、私がprint(type(days))をするとき、私はintを得る。ただし、daysパラメータはloop()に、次にaccept_state()にはfsaとして渡され、エラーが発生するプロパティの1つにアクセスしようとします。

つまり、intをfsaとして渡します。実際のFSAオブジェクトではありません。それを作成し、それをパラメータとして渡す必要があります。

EDIT:ライン260周り

あなたがdays = 31を書くあなたはそれがmonthsのためではなく、ために働く理由である、しかしmonthsを再定義していないライン72上のプログラムでは、以前からの日の宣言を上書きしますdays

+0

お返事ありがとうございます。あなたが正しいです。オブジェクトではなく整数が渡されます。あなたはそれがどのように起こったかを知るための考えがありますか?数ヶ月間はすべてうまくいくようですが、31日が経過しています。これは整数です。 ライン番号を見てください。 113と114 https://repl.it/Dfey/25 –

+0

ええ、私は答えを編集しました。上記を参照 – user3543300

+0

ありがとう、あなたは天才です! –

関連する問題