東大/京大のプログラミングの授業でも使われている(無料で読める、東大/京大の「Python教科書」電子書籍)、「Pythonプログラミング入門」の練習問題の解説を連載しています。
この記事では、CHAPTER 2 の問題を紹介します。
この連載シリーズでは、教科書に載っている解答が最適でない場合や、明らかに間違っている場合についても、より良い解法や別解を解説します。
自分の解法が正解か不安な方も必見です。
教科書のHTML版やPDF版のリンクも掲載していますので、是非ともご活用ください。
教材リンクはこちら↓
2.9 練習問題
黄金比を求めてください。 黄金比とは、5 の平方根に 1 を加えて 2 で割ったものです。 約 1.618 になるはずです。
2.9 回答
この問題はなぜか教科書に回答例が載っていません。
回答は以下の様なコードになります。
import math
(math.sqrt(5) + 1) / 2
出力結果は、1.618033988749895
になります。
2.9 解説
math モジュール(ライブラリ)の関数を使うために、
import math
というおまじないが必要です。
import 構文は他のプログラミング言語でもよく出てきますが、この場所に○○モジュールを読み込んで参照できるようにする、という様な意味合いがあります。
よく分からなければ最初は、sqrt を使うために必要なおまじないと思っておけば良いと思います。
この問題の一番重要な点は、(math.sqrt(5) + 1) の部分に括弧が必要なことです。
括弧が省略された場合、Pythonの算術演算の優先順によって1 / 2 が先に計算されてしまい、間違った答えになってしまいます。
参考
- Pythonプログラミング入門 — Pythonプログラミング入門 documentation (utokyo-ipp.github.io)
- PDF版 Pythonプログラミング入門 (utokyo-ipp.github.io)
- Colaboratory へようこそ - Colaboratory (google.com)
- 無料で読める、東大/京大の「Python教科書」電子書籍:AI・機械学習の無料電子書籍 - @IT (itmedia.co.jp)
- 5. インポートシステム — Python 3.11.2 ドキュメント
- math --- 数学関数 — Python 3.11.2 ドキュメント
次のCHAPTERはこちら
-
【教科書解説】Pythonプログラミング入門 (CHAPTER 3 変数と関数の基礎) 練習問題
東大/京大のプログラミングの授業でも使われている(無料で読める、東大/京大の「Python教科書」電子書籍)、「Pythonプログラミング入門」の練習問題の解説を連載しています。 この記事では、CHA ...
続きを見る
分かりにくい点や他にも解説して欲しい内容等あれば、コメント欄か以下のフィードバックからメッセージをお願いします!