数学アニメーションでPythonを学ぶ
どのレッスンも、チャンネルのパターンをひとつ、短いスクリプトで1行ずつ作ります。まず配列とループ、次に乱数と再帰、そしてシミュレーションとグリッド。各レッスンの最後には、練習問題、クイズ、フラッシュカードがあります。コードとそのコメントは、多くのプロジェクトと同じく英語です。
必要なもの
Python 3と、2つのライブラリ: pip install numpy matplotlib. 各スクリプトの実行: python name.py.
初級
レッスン1 配列と角度 「黄金角」で学ぶ np.arange でつくる numpy の配列 · 配列全体にまとめて計算する · ラジアン、np.cos と np.sin · 角度と距離から x と y へ · 値で色をつける散布図
レッスン2 ループと余り 「円周上の掛け算」で学ぶ zip で組にしたものを回す for ループ · 余り % と、ひと回りして戻る角度 · plt.plot で2点を結ぶ線 · パラメーターをひとつ変えて探る
レッスン3 乱数と数えあげ 「ガルトンボード」で学ぶ np.random.default_rng による乱数 · 1と0として数えられる True と False · np.bincount で数える · リスト内包表記 · 公式と照らし合わせるシミュレーション
中級
レッスン4 覚えているループ 「カオスゲーム」で学ぶ 状態を1ステップから次へ引き継ぐループ · rng.integers による整数の乱数 · 条件のための while ループ · 点の配列とスライス · np.column_stack
レッスン5 配列にかける公式 「振り子の波」で学ぶ 配列全体に当てはめる物理の公式 · すばやく確かめるための np.round と print · plt.subplots で並べる複数の図 · f文字列 · 位相:振り子が往復のどこにいるか
レッスン6 関数と再帰 「ソート競争」で学ぶ 関数と、関数を値として渡すこと · 再帰:小さな部分について自分自身を呼ぶ関数 · 辞書に入れておくカウンター · 結果を確かめる assert · 仕事の増え方:n² 対 n·log n
レッスン7 時間を一歩ずつ進める 「回転するリングの中のボール」で学ぶ シミュレーション:while ループの中の小さな時間ステップ · numpy の配列としてのベクトル · 内積と反射 · np.arctan2 による角度と、その折り返し · ループを抜ける break