Google Colaboratoryで学ぶSchratch to Python基礎(4)ー●まで繰り返す

前回の記事では、「●回繰り返す」について解説しました。今回は「●まで繰り返す」について解説いたします。
 
▼これまでの連載
Google Colaboratoryの環境について:https://i-learn.jp/article/5655
(1)プリント文:https://i-learn.jp/article/5669
(2)変数:https://i-learn.jp/article/5713
(3)●回繰り返す:https://i-learn.jp/article/5761

 

目次

1. Scratchの繰り返し「●まで繰り返す」

Scratchにも繰り返しがありました。Scratchの繰り返しにはいくつか種類があります。今回はそのうち「●まで繰り返す」をPythonで扱いたいと思います。

 
今回も前回と同様、「a」という変数を作り、次のようなコードを作ってみました。

 
プログラムの動きは前回と同じで、実行すると、ネコが1から10までの数字を言います。

 
これをPythonで実行してみたいと思います。
 

2. Pythonの繰り返し

こちらの記事をご覧いただきながら、Google Colaboratoryで次のように書いてみてください。
 
今回の●まで繰り返すは、Pythonではwhile文を使います。
こんなコードを書いてみました。

 
続いて、実行ボタン(コードの横に表示されている右向きの三角)を押して、実行してみましょう。

 
はい。1から10までの数字が表示されました。
 

2-1. 条件が違うことに注意

さて、鋭い方なら先ほどのScratchのコードと、Pythonのコードがちょっと違うことにお気づきだと思います。

 
そこで、ScratchとPythonで上記の赤枠の部分の設定を変えて、プログラムが動くかどうか?を実験してみました。
結果はこのようになりました。
 

ScratchとPythonで動作が異なりました。
 
Scratchの「●まで繰り返す」は条件が偽(False)の間だけ動作して、条件が真(True)になった時に繰り返しが止まります。
しかし、Pythonのwhile文は条件が真(True)の間だけ動作して、条件が偽(False)の時には繰り返しが停止します。
 
この部分が挙動が異なるので気をつけましょう。
 
Scratchの「●まで繰り返す」は「真になるまで」
Pythonのwhile文はは「真の間」
と、意味が異なるのですね。
 
Pythonでは、「●まで繰り返す」は「while文」に似ている。でも条件に注意!
 

3. まとめ

Scratchの「●まで繰り返す」はPythonで似たものとして「while文」がありますが、意味が少し違うので気をつけましょう。
 
またwhile文はif文に書き換えられる場合もあるので、書き換えられるかどうか?も勉強しても面白いと思います。
 
今回のコードはこちらです。
https://colab.research.google.com/drive/1ZhwWM0z0vEMbunCYqysHOfacrL0Y4ccA?usp=sharing
 
PythonとScratchも似ているところ、違っているところがありますが、意味をよく考えれば間違えることもないと思います。

この記事を書いた人

目次