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

プログラミングPhoto: Adobe Stock

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)にする。

小文字表記
事例
論理演算子
真理値表
notの真理値表