2016年の発売直後から大きな話題を呼び、中国・ドイツ・韓国・ブラジル・ロシア・ベトナムなど世界各国にも広がった「学び直し本」の圧倒的ロングセラーシリーズ「Big Fat Notebook」の日本版が刊行された。藤原和博氏(朝礼だけの学校 校長)「プログラミングは新しい言語の獲得だ」、野田クリスタル氏(お笑い芸人・マヂカルラブリー)「プログラミングがやりたくなる! まるでゲームの攻略本みたい!」、尾原和啓氏(元グーグル・IT評論家)「プログラミングを通して、ビジネスにも応用できる考え方が見えてくる!」と絶賛されている。本記事では、全世界700万人が感動した同シリーズのプログラミング編『アメリカの中学生が学んでいる 14歳からのプログラミング』より、本文の一部を抜粋・掲載します。

Pythonの条件文
Pythonの条件文は、必ずキーワード「if」(もし)で始まり、そのあとに論理式、半角コロン(:)と続く。条件を満たしたときに実行されるコードは、2行目以降にTabキー1回(または半角スペース4つ)でインデントして書こう。



else文
else文とは、論理式の値がFalseであるときに実行される文のこと。
else文を使うには、まず、新しい行に「else」と入力する。そうしたら、次の行に、Tabキー1回(または半角スペース4つ)でインデントを挿入して、論理式がFalseのときに実行されるコードを書き加えればいい。
たとえば、もし(if)、xpが90以上なら、「レベル:上級」と表示するけれど、でなければ(else)、「レベル:初級」と表示する、なんてこともできる。

この例では、xpが50で、90以上じゃないから、「レベル:初級」と表示されるわけだ。
elif
elifは、else文と、さらなる情報について調べる別の条件文を組み合わせたものだ。
elifは「でなくてもし」と読むとわかりやすい。elifは、「if」または別の「elif」文のあとでしか使えない。elifを使うときは、elifに続けて、論理式と半角コロン(:)を追加しよう。

たとえば、コードにelif文を追加すれば、ゲームに別の経験値レベルを追加できる。
ひとつ目の条件文では、xpが90以上のときに「レベル:上級」と表示する。
elif文を追加すれば、xpが50以上、90未満のときに、「レベル:中級」と表示させることもできる。xpが50未満なら、else文で、「レベル:初級」と表示するコードを実行する、というわけだ。


このプログラムのフローチャートを見れば、条件分岐の様子が一目でわかるだろう。
複合条件文
複合条件文とは、ふたつ以上の論理式を含む条件文のこと。
たとえば、ゲームのスコアが50を超えていて、かつ、難易度が「むずかしい」に設定されていたら、プレイヤーにボーナスポイントを進呈する、なんて使い方ができる。
論理演算子とは、値がTrueまたはFalseとなる複数の論理式や論理値を組み合わせるための演算子のこと。
Pythonでは、次の3種類の論理演算子が使われる。
・and(かつ):両方の論理式がTrueなら、全体もTrueになる。論理式のどちらかひとつでもFalseなら、全体はFalseになる。
・or(または):論理式のどちらかひとつでもTrueなら、全体もTrueになる。ひとつがTrueなら、もうひとつはTrueでもFalseでも結果は同じだ。
・not(でない):論理式の値を、逆(TrueからFalse、FalseからTrue)にする。




