前提・実現したいこと
Pythonを触り始め、勉強の一貫として、クラスと関数を用いて、再帰法でn=20のときのフィボナッチ数を求めるプログラムを書いています。
以下のようなプログラムを書いたのですが、エラーが出てしまいました。
発生している問題・エラーメッセージ
NameError: name 'fibo' is not defined
該当のソースコード
Python3
1class Fibo(): 2 3 def __init__(self,num): 4 self.num=num 5 6 def fibo(self): 7 if self.num==0: 8 return 1 9 elif self.num==1: 10 return 1 11 else : 12 return fibo(self.num-1)+fibo(self.num-2) 13 14n = Fibo(20) 15print(n.fibo())
試したこと
クラスを用いずに、関数のみを定義してフィボナッチ数を求められるかを試しました。結果は求めることができたのでおそらくクラスを用いるところの書き方が違うのではないか?というところで詰まりました。
補足情報(FW/ツールのバージョンなど)
Jupyter notebook
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/28 02:23