素人が0から学ぶプログラミング 16日目
今日の学び1 (進捗)
・https://note.nkmk.me/python-for-usage/ の前半部を理解する
・https://note.nkmk.me/python-break-nested-loops/ の前半部を理解する
今日の学び2 (コード例と,教本に記載のないpoints)
主に後者の記事の理解にそれなりの労力を要しそうなので、残りを明日に回します。
forループ, break, continue, elseあたりの基本を前者の記事で学び、後者の記事でネスト構造のforループを切り上げる方法を学ぶという流れですが、後者がなかなか難しいです。
「elseはどの階層に位置するの?」ということを考えてしまうとわかりにくくなるのが厄介だと感じました。
要するに、
・else内部:通常実行される部分。breakされると例外的に実行されない。
・continue:それ以降の操作を省略し、そのループが対象とするリスト内の次の要素を取り出す。もう残り要素がないのなら、一階層上のループが対象とするリストの次の要素を抽出する。
ということから、
else内部にcontinueを放り込んで、その後ろにcodeXを設置しておけば、
・通常 → continueが実行される → 以降が省略されて次の要素に進む → codeXは実行されない
・break → continueが実行されない → 以降が省略されない → codeXが実行される
となるので、
このcodeXをbreakにしておけば、
一度breakされると永遠にbreakされて、最も外側のループまで切られる、
という仕組み、と説明できると思います。
今日の学び3 (感想)
論理力が鍛えられるということをなんとなく実感しました。
教本
『独学プログラマー Python言語の基本から仕事のやり方まで』
(コーリー・アルソフ著 清水川貴之監訳 日経BP社発行)
この記事が気に入ったらサポートをしてみませんか?