PR
全4943文字

 前回は、「テクノロジア魔法学校」というプログラミング教材で学習を始めた外薗祐理子記者がPythonに取り組むまでの経緯を説明した。同記者はまずWebで公開されているPythonのチュートリアルを見たが、レベルが高すぎて理解できなかったという。

 しかし外薗記者には「3連休の間に自分なりのPythonプログラムを作る」という宿題があった。ここでくじけるわけにはいかない。気を取り直して、まずはパソコンにPython処理系をインストールした。

 助けになったのは、私(大森)があらかじめ渡しておいたPythonの入門書だったという。Pythonの画面で作業しながら学ぶので、とても分かりやすかったとのことだ。いざPythonの学習を始めてみると、「初心者でも扱いやすい言語」という点を実感できた。

 私は宿題を出すときに、「自分なりのPythonプログラム」の例として「じゃんけんゲーム」を挙げ、それに縛られず自由なプログラムでもいいと言っておいた。だが初心者にとっては、この「自由」こそがやっかいだったようだ。

 外薗記者は「そもそも何が簡単で何が難しいのかが分からなかった」と振り返る。「料理などでもそうだが、何かを作ろうとしたときにそれが難しいのか簡単なのかが分かるのは、それがある程度できる人たちだ。できない人間にとっては、レベル感をざっくり把握すること自体が難しい」(同記者)。

 このため「自由なプログラム」と言われても、何を作ればいいのか分からなかった。自分がどんなプログラムなら書けるかという見当がつかなかったのだ。そこで、私のアドバイスに従ってじゃんけんゲームを作ることにした。

自分なりに処理の流れを考える

 どう作ればいいかを外薗記者はこう考えた。「最初に、グー、チョキ、パーを1、2、3で定義する。人間が出す手は入力してもらい、コンピューターが出す手は1から3までの乱数を使う。グーを人間が出した場合、コンピューターがグーならあいこ、チョキなら人間の勝ち、パーならコンピューターの勝ちになる。こうした9種類の場合の処理を書けばいい」。

 まず、グー、チョキ、パーを1、2、3と定義することが必要だと考えた。そこでインターネットで検索し、dicという変数を定義したという。次に、人間に数字を入れてもらうにはinput関数が必要だと知ってそれを記述した。コンピューターが出す手は、random.randint関数で定義した。

 後はif文での場合分けだ。「もっときれいな書き方はあるはずだ」とは思いつつ、確実に動く方法を選んだ。9つの場合をすべて列挙するという力業だ。

この記事は会員登録で続きをご覧いただけます

日経クロステック登録会員になると…

新着が分かるメールマガジンが届く
キーワード登録、連載フォローが便利

さらに、有料会員に申し込むとすべての記事が読み放題に!
有料会員と登録会員の違い