この章では自動計算プログラムを作ります。このプログラムではリスト、while、if文が出てきますので、これらの使い方のイメージを掴んでください。 このプログラムでは5問の計算を行うプログラムです。
最後に5問中いくつ正解したのか正解数を表示して終了になります。
では先頭から説明します。 この箇所ではリストを2つ作成しています。
これらのリストには初めにすべて0が入っていますが、後ほど数値がそれぞれ5つ入ります。
answerは答えを入れるリストで、resultは正解の答えが入っているリストです。
次に以下の箇所の説明をします。 num1とnum2にはそれぞれ0から50までの数値がランダムに入ります。
乱数については説明済みですので、ここでは詳しくは書きません。
次に以下の箇所の説明をします。 ここでは以下の赤枠の箇所の表示を行っています。
while文で5回ループしているので、5回の式が表示されます。 では次の箇所の説明をします。 raw_input関数はユーザーに入力をさせる関数であることは説明済みですが、この関数は文字列として入力されるのでint関数で整数に変換しなくてはいけません。
そして、その入力値は答えになりますので、answerに5回入力していきます。
つまり、whileで5回ループしていますので以下の順番でリストにデータが入っていきます。 以下の箇所では実際の答えがリストとして入力されます。 whileで5回ループしていますので以下の順番でリストにデータが入っていきます。 次に以下の箇所の説明をします。 この箇所では正解数をカウントしています。
rightanwerには正解数が入るのですが、初めに0が入っています。
そしてif文でリスト同士の値を比べて、同じであればrightanswerに1を足します。このif文はwhileの中に入っているので、5回ループして、その都度答え合わせをします。
最後に以下の箇所で出力をして、終わりになります。
タグ: while
while文について知ろう
この章ではwhile文について説明します。
while文は条件式がtrueの間は繰り返しを続けます。
while文も基本的にはfor文と同じ動きをします。 では例をみてみましょう。 初めにwhileが実行される時に条件式がtrueもしくはfalseであるのかをチェックします。
trueである場合はwhile文が実行されます。
falseである場合にはwhile文は実行されません。
では順番に説明をしていきます。
① numに0を代入します。
②条件式をチェックした結果、trueであるのでwhile文を実行します。
③ print numの箇所で0を出力します。
④ num +=1の箇所で0であるnumに1を足して、1になります。
と同じ意味です。
⑤それからまたwhileの先頭に戻って条件式を評価しますが、まだnumは3より小さいので、while文を実行します。
⑥ print numの箇所で1を出力します。
⑦ num +=1の箇所で1であるnumに1を足して、2になります。
⑧それからまたwhileの先頭に戻って条件式を評価しますが、まだnumは3より小さいので、while文を実行します。
⑨ print numの箇所で2を出力します。
⑩ num +=1の箇所で2であるnumに1を足して、3になります。
⑪それからまたwhileの先頭に戻って条件式を評価しますが、ここで初めて条件式がfalseになるのでwhile文は実行されず終了になります。
while文について知ろう
この章ではwhile文について説明します。
while文はfor文と同じく、何度も繰り返すような処理を必要とする時に使用します。
では例をみてみましょう。 while文の構文は以下の通りです。 〇 doは省略可能です。
初めにwhileが実行される時に条件式がtrueもしくはfalseなのかをチェックします。trueである場合はwhileが実行されます。
falseである場合はwhileは実行されません。
では実際の動きを見てみましょう。
① numに0を代入します。
②条件式(num<3)をチェックした結果、trueなので繰り返し文を実行し、で 0を出力します。
③ num +=1の箇所で0であったnumに1を足して、1にします。
④それからまたwhileの先頭に戻って条件式を評価します。
条件式をチェックした結果、numは3以下でtrueなのでを実行して1を出力します。
⑤ num +=1の箇所で1であったnumに1を足して、2にします。
⑥それからまたwhileの先頭に戻って条件式を評価します。
条件式をチェックした結果、numは3以下でtrueなのでを実行して2を出力します。
⑦ num +=1の箇所で2であったnumに1を足して、3にします。
⑧それからまたwhileの先頭に戻って条件式を評価します。
条件式をチェックした結果、numは3以下ではないので、falseになりwhile文が終了になります。
結果は以下の通りです。
次はwhile装飾子について説明します。
while装飾子はを末尾に書く形式のことを言います。 では例をみてみましょう。 numを出力してから、whileの条件式の判定に入るので結果は1から6までを出力します。
結果は以下の通りです。
while文について知ろう
whileとifとbreakを組み合わせて使おう
while文を知ろう
この章ではwhile文について説明します。
何回も同じ処理(ループ)をする必要があるときにwhile文を使えば簡単に記述することができます。
同じような処理を何度も繰り返すプログラムを書く場合、以下のように何度も同じ処理を書くのは面倒ですし、間違いも多くなりがちです。 そこでwhileを使うと簡潔に書くことが出来ます。 初めにwhileを実行する時に条件式がTRUEもしくはFALSEかどうかをif文と同じようにチェックします。
TRUEである場合はwhileの処理文が実行されます。
FALSEである場合、処理文は実行されません。
whileは条件式がTRUEである限り何度でも処理文を実行します。
では例をみてみましょう。 while( i < 4)の条件式をif文と同じようにTRUEもしくはFALSEで判定します。
1はまだ4未満でTRUEですのでを実行して、1を出力します(FALSEであるならば何も出力されません)。 上の2番でiは1が足されているので2になっていますが、まだ4未満なのでTRUEになり、を実行し、2を出力します。 上の4番でiは1が足されているので3になっていますが、まだ4未満なのでTRUEになり、を実行し、3を出力します。 上の6番でiは1が足されているので4になっていますが、すでに4未満ではないのでFALSEになり、while文はここで終了です。
結果は「123」です。
もし、i++がないとどうなると思いますか?
答えは無限ループと言いまして、の部分が永遠に4より大きくならないので無限にを繰り返します。
この章ではwhile文の中でif文を使うことと、さらにはwhile文の中で「強制的に繰り返し文を終了させたい時に使用するbreak」を使った例について説明します。
では例をみてみましょう。 結果は以下の通りです。 では詳しく説明します。
①iに1を代入します。
②(i <= 10)の条件を判定します。
iは1でtrueなので、whileの処理文を実行します。
③iは1なので、if文の条件部分にはマッチしないので、そのままif文はスルーします。
④を実行して「ループ1回目」を出力します。
⑤i++で1を足して、2になります。
⑥(i <= 10)の条件を判定します。
iは2でtrueなので、whileの処理文を実行します。
⑦iは2なので、if文の条件部分にはマッチしないので、そのままif文はスルーします。
⑧を実行して「ループ2回目」を出力します。
⑨i++で1を足して、3になります。
⑩(i <= 10)の条件を判定します。
iは3でtrueなので、whileの処理文を実行します。
⑪3回目のループで初めて、if文にマッチして を実行します。
そして、次にbreakがあるのでここでwhile文を抜けます。
while文について知ろう
この章ではwhile文について説明します。
while文もfor文と同じく、条件式がtrueの場合は何度でも繰り返しを実行します。 では例をみてみましょう。 結果は「12345」です。
初めにwhileが実行される時に条件式がtrueかfalseなのかをチェックします。
trueである場合はwhile文が実行されます。
falseである場合はwhile文は実行されません。
falseの場合はwhile文はスルーされます。
whileは条件式がtrueである限り何度でも処理を実行します。
順を追って説明しましょう。
①初めにiに初期値1を代入します。
while( i < 6 )の条件式をif文と同じようにtrueかfalseで判定します。
もし条件式がtrueであるならば、を実行します。
falseであるならばは実行されません。
この例の場合には初期値1は6未満なのでを実行して、1を出力します。
そしてi++の箇所で1を加えiは2になります。
②そして、また最初のの部分に戻ります。
上の1番でiは1が足されて2になっていますが、2は6未満なのでtrueになり、を実行して、2を出力します。
そしてi++の箇所で1を加えiは3になります。
③そして、また最初のの部分に戻ります。
上の2番でiは1が足されて3になっていますが、3は6未満なのでtrueになり、を実行して、3を出力します。
そしてi++の箇所で1を加えiは4になります。
④そして、また最初のの部分に戻ります。
上の3番でiは1が足されて4になっていますが、4は6未満なのでtrueになり、を実行して、4を出力します。
そしてi++の箇所で1を加えiは5になります。
⑤そして、また最初のの部分に戻ります。
上の4番でiは1が足されて5になっていますが、5は6未満なのでtrueになり、を実行して、5を出力します。
そしてi++の箇所で1を加えiは6になります。
⑥そして、また最初のの部分に戻ります。
上の5番でiは1が足されて6になっていますが、の条件判定はfalseになるため、ここで処理を終了します。
このように繰り返しをの条件部分がfalseになるまで繰り返します。
つまり変数iが6以上になったらループを抜けます。
もし、i++がないとどうなると思いますか?
答えは無限ループと言いまして、の部分が永遠に6以下にならないので無限にを繰り返します。