- 締切済み
Python: print fib(0) None
「Pythonチュートリアル」というO'REILLYの本の33ページ目に、 >>> print fib(0) None を返すように書かれているのですが、実際にはエラーが返ってきます。 本当にNoneが返ってくるべきなのでしょうか? そして、Noneを返すにはどうすればいいのでしょうか? 本はPython 3.1.1を使用しているそうです。 私はPython 3.5.1を使用しています (同じVersionにしましょう、という回答はなしの方向でお願いします)。 実際の結果: In [87]: fib(3) 0 1 1 2 In [88]: fib(0) [空白です] In [89]: print fib(0) File "<ipython-input-89-1cd6a4451e49>", line 1 print fib(0) ^ SyntaxError: invalid syntax 関数fib自体は以下の通りです: In [73]: def fib(n): # フィボナッチ級数をnまで書き出す ....: """nまでのフィボナッチ級数を表示する""" ....: a, b = 0, 1 ....: while a < n: ....: print(a, end=' ') ....: a, b = b, a+b ....: print() ....: In [74]: # では、この関数を呼び出してみよう: In [75]: fib(2000) 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 ・・・ではお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- trytobe
- ベストアンサー率36% (3457/9591)
お礼
ありがとうございます。 自己解決しました。 print(fib(0)) で Noneが返ります。 この本には嘘が書いてあることが分かりましたので注意しながら読みます。