『ゼロから学ぶPythonプログラミング』 正誤表
注意深く執筆したつもりですが、現時点でに以下のミスや修正点が見つかっております。ご迷惑をおかけして申し訳ありません。
他に誤りや修正すべき点を見つけた方は、GitHubのIssueにてご指摘いただければ幸いです。
最終更新日:2023年11月30日
第5,6刷正誤表
以下の誤植は5,6刷のものです。
ページ番号 | 誤 | 正 |
---|---|---|
p. 27 | こうして「突然キレるガンジー」が誕生したのである。 | こうして「突然キレるガンジー」が誕生した、というものだ。この話は広く信じられていたが、実際にはソフトウェア的にこのようなバグは発生しないと、Civilizationの制作者、シド・マイヤー自身が否定している。 |
p. 27 | https://note.mu/ruiu/n/n89d18450b1bb |
参考:Sid Meier’s Memoir! A Life in Computer Games |
p. 180 | 11.6.4の「8.
メモ化再帰の実装」の以下のコード(2箇所)if dic[(n, budget)] is not 0: # 追加(1) |
if dic[(n, budget)] != 0: # 追加(1) |
p. 182 | 11.6.5の「10. 解の再構成
get_menuの実装」の以下のコードif calc is 0: |
if calc == 0: |
p. 182 | 11.6.5の「10. 解の再構成
get_menuの実装」の以下のコードif dic[(n, budget)] is not dic[(n - 1, budget)]: |
if dic[(n, budget)] != dic[(n - 1, budget)]: |
p. 224 | 以下の式の右辺第二項は\(a\)が不要 \(\displaystyle\frac{dC}{da} = \sum_i^N (2 a x_i^2 - 2a x_i y_i) = 0\) |
\(\displaystyle\frac{dC}{da} = \sum_i^N (2 a x_i^2 - 2 x_i y_i) = 0\) |
第3,4刷正誤表
以下の誤植は第3,4刷及びKindle版でも未修正のものです。
ページ番号 | 誤 | 正 |
---|---|---|
p.47 | 図4.1にa=[1]=4 とある |
正しくはa[1]=4 |
p.49 | 図4.3にa=[1]=4 、a=[1] #=> 4 とある |
正しくはb[1]=4 、a[1] # => 4
|
p.50 | 図4.4の中央にa=[4,5,6] とある |
正しくはb=[4,5,6] |
p.132 | ページ最後のコードに使われないs2 がある |
正しくは以下の通り |
第2刷正誤表
以下の誤植は第2刷のもので、第3刷及びKindle版では修正されています。
ページ番号 | 誤 | 正 |
---|---|---|
p.21 | 数式の右辺に添字\(n\)が抜けている。 \(x_{n+1} = x_n - \frac{x^3 - 1}{3x^2}\) |
\(x_{n+1} = x_n - \frac{x_n^3 - 1}{3x_n^2}\) |
p.26 | 2.4.3発展課題の数式の右辺に添字\(n\)が抜けている。 \(x_{n+1} = x_n - \frac{x^4 - 1}{4x^3}\) |
\(x_{n+1} = x_n - \frac{x_n^4 - 1}{4x_n^3}\) |
p. 124 | 図8.3のインスタンス変数がself.num になっている。
|
正しくはself.__num (図はインデントも間違っているので注意)
|
p. 206 | 2行目 「したがって、極限すれば物理学とは微分方程式を解く学問である。」 | 「したがって、極言すれば物理学とは微分方程式を解く学問である。」 |
p. 93 | 一番下のArchive: popmap.zip の記載されたボックスの色が入力を意味する青色 |
ボックスの色は出力を意味するベージュ |
p. 124 | 図8.3のクラスのコードがself.num となっている |
正しくは
self.__num とnum にアンダースコアが二つ付く |
p. 140 | 9.3.2の2つ目のボックスの以下の記述data = np.array([1,2,3]) |
a = np.array([1,2,3]) |
p. 140 | 9.3.2の下から二つ目のボックスの以下の記述print(data) |
print(a) |
p. 141 | 9.3.3の最初のボックスの以下の記述data.shape # => (2,2) |
a.shape # => (2,2) |
p. 177 | 「4.
貪欲法の実装」のgreedy 関数の11行目print(f"{names[i]} {price[i]} Yen {cals[i]} kcal") |
(price →prices )print(f"{names[i]} {prices[i]} Yen {cals[i]} kcal") |
第1刷正誤表
以下の誤植については書籍版第1刷にあるものであり、第2刷及びKindle版では修正されています。
ページ番号 | 誤 | 正 |
---|---|---|
p. ix | Numpy | NumPy (Pは大文字) |
p. 10 | 「2. 五芒星の描画」のコードの2行目
draw = ImageDraw.raw(im) |
draw = ImageDraw.raw(img) |
p. 34 | 図3.2の「関数が作る」のが「ローカルグループ」「中から外を見ることはできない」「右側の矢印が右向き」 |
「関数が作る」のは「ローカルスコープ」「中から外を見ることはできる」「右側の矢印は左向き」 |
p. 41 | とすると、生成するイメージを大きくすると見やすくなる。 | とすると、生成されるイメージが大きくなるため見やすくなる。 |
p. 61 | できたリストをb返せ | できたリストをbに返せ |
p. 66 | 12行目 「8ビットが0でない」 |
「8ビット目が0でない」 |
p. 124 | 図8.3のクラスのコードのインデントが不正。 |
正しいインデントは以下の通り。 |
p. 124 | 図8.4のメッセージが「c = Counter() 」
|
正しくはc.count() |
p. 140 | Numpy | NumPy (Pは大文字) |
p. 141 | np.zeros((2,2))) |
np.zeros((2,2))
(右側の閉じカッコが一つ多い) |
p. 156 | 8行目 「一方、プログラミング言語を逐次的に解釈して実行するのがスクリプト言語であり」 | 「一方、プログラミング言語を逐次的に解釈して実行するのがインタプリタ言語であり」 |
p. 156 | 9行目 「多くのスクリプト言語はバイトコード(bytecode)と呼ばれる」 | 「多くのインタプリタ言語はバイトコード(bytecode)と呼ばれる」 |
p. 161 | 図10.7のBINARY_MULTIPLYの箱のラベルが誤っている |
正しくは以下の通り。 |
p. 174 | 図11.6のAとCの間のコストが2 | AとCの間のコストは7 |
p. 174 | 図11.7のAとCの間のコストが2 | AとCの間のコストは7 |
p.184 | アッペルとハーケンは、四色問題問題を四色問題問題を | アッペルとハーケンは、四色問題四色問題を |
p. 188 | 「random.randint」から2行目 「これは6面サイコロを10回ふることを」 |
「これは6面サイコロを5回ふることを」 |
p. 197 | 6行目「いま、先ほどの図で3の所属する会社と5の所属する会社を」 | 「図12.6の下の図で3の所属する会社と5の所属する会社を」 |
p. 209 | 「優位に立つためために必要」 | 「優位に立つために必要」 |
p. 240 | 「言われるの注意」 | 「言われるので注意」 |