はじめに
if文について
やあ、こんにちは。今回はif-else文について学んでいこう。
はい!よろしくお願いします。
まず、if文を使うと、指定した条件が成り立つときだけ処理を実行できるようになるのだ。では、いつも通りビットアローを起動させて、今日使う新しいファイルを作成するところまでやってみよう。
前回『file3』を使ったので、今回は『file4』を作成すればいいですね。
はい、出来ました!準備オーケーです。
よし、だいぶ慣れてきたみたいだな!さて、実際にプログラム書く前にいくつか基本的なことを伝えておきたい。まず、if文の書き方は型が決まっていて次のように書かなくてないけないのだ。
詳しくは、ifの後に空白一つを必ず入れてから条件式を書く。そして、条件式のすぐ右側には必ずコロン『:』を書くのだ。そして、2行目の処理の部分にはprint関数など任意のプログラムを書くことができるのだ。っと言われてもピンとこないだろう?とりあえず簡単なif文を書いてみるから見てくれ。
はい、お願いします!
さて、上から順にみていこう。1行目は変数aに123という数値が代入されている。2行名からif文が始まるが、条件式は『a==123』となっているが、これは『aが123に等しい』という条件を表す。そして、そのときの処理はというとprint関数で『’aは123です’』という文字列を表示させるというものになっているのだ。これを実行するとどうなるかわかるかい?
うーんと、aは123にもちろん等しいので処理が実行されるはずです。なので、『’aは123です’』という文が表示されます!
正解だ!ちなみに第1行目でa=100にすると、条件式を満たさないので処理は実行されないので結果何も表示されなくなるのだ。一度試してみるといいだろう。
はい、確かに何も表示されませんでした。
インデントについて
ここで、if-else文などの条件文を書く時に意識しなくてはならない重要なことについて説明する。それは、インデントというものだ。インデントとは空白を意味する言葉だ。上に書いたプログラムを用いて説明しよう。下の画面を見てほしい。3行目の条件が成り立つときに実行されるprint関数の左側に何文字かの空白部分があることが見て取れるだろう?
はい、いくつかの空白部分があります。正直、特に気にしていませんでした。
これが、とても重要な役割をするのだ。つまり、if文はインデントされている行を処理する範囲と判断するのだ!インデントには4個の半角スペースを使うことが多い。今回の処理は、print関数の一つだけだが、処理に複数のプログラムを書く場合インデントの個数がそろってないとエラーになるから注意が必要なのだ!
そんな重要な役割があったのですね!でも、そのつど空白を4個作らなければならないなんて大変ですね?
ふふふ、安心してくれ。条件文を書いた後にコロン『:』を書くだろう?その後、次の行に移るためにエンターキーを押すと思うが、そのとき自動的に空白部分が4個できるのだ!これは実際に書いてみると分かるぞ!上と同じプログラムを書いて、コロンのあとにエンターキーを押してみてくれ。確認した後は3行すべて消去して大丈夫だぞ。
はい!確かに自動的に空白部分が出来ました!
パスワード判定プログラム
では、次のプログラムに歩を進めよう。今度は、『キーボードから入力した文字列が正しいパスワードかどうか判定するプログラム』を書いてみよう。だんだんそれらしくなってきただろう?前回学んだinput関数も使うぞ!まずは、pwという変数に好きなパスワードを代入しておくことがポイントだ。下の画面を見てくれ。
一行目から見て行こう。一行目で正解のパスワード『flower』を変数pwに代入している。このパスワードとキーボードから入力された文字列が等しければ、print関数を用いて画面に『OK!』と表示する。2行目のinput関数でキーボードから入力した文字列は、変数aに代入して、if文でa==pwが成り立つとき、print関数が実行されるというわけだ。このプログラムを実行してみると・・・
else文について
なるほど!もし、間違ったパスワードを入力したとき、正しくないことを入力した人に伝えたいときはどうするのですか?
よくぞ聞いてくれた!そんな時にはelse文を使うのだ。else文はif文の条件が成り立たなかった場合の処理を実行してくれる。つまり、つぎのような型になっているぞ。
elseすぐ右側にもコロン『:』をつけなくてはいけないのですね!忘れないようにしなくっちゃ!
その通り!そして見ての通り、if文とelse文の先頭はそろえて書くのだ!自動的に作られたインデントはバックスペースで消去して先頭をそろえるといいだろう!そして、elseの右にコロンを付けてエンターキーを押すと、下の行もif文と同じく自動的にインデントされるからそれに従って書くのだ。では、先ほどのプログラムに追加する形で書いてみるぞ。
間違えて、hanaという文字を入力したところ、ちゃんと違うことを教えてくれましね!
そういうことだ。このif-else文はとても応用が利くプログラムである。今後様々な場面で出てくるからそのつもりでいてくれ。では最後に練習問題だ!
来ましたね!
練習問題3
問題は次の通りだ。
問題
if-else文を用いて、入力された文字列が『math』というパスワードに等しければ『ログインOK!』を表示し、間違っていたら『Wrong Password!』と表示するプログラムを書こう。
解答
出来ました!次のようになります。
パスワードが正しいとき
パスワードが正しくないとき
いずれの場合も正しく動作しているみたいだな。うむ、完璧だ!
今日はif-else文について学んだ。次回はfor文というものについてやろうと思ってるので楽しみにしてくれ。では今日はここまでにしよう。お疲れさん。
はい、ありがとうございました!
コメント