こんにちは!! ホーさんの記事で衝撃を受け、投稿を再開したののたです。
Pythonを勉強して学んだ事をALISの記事にすれば勉強が続くのでは!?と思い
メモ代わりに投稿!!
※変な事を言っていたらTwitterやコメントで教えてください・・・
前回は「リスト」を勉強しました。
今回は繰り返して同じ処理をする「ループ」を勉強します。
どんな仕事でも繰り返しの作業と言うものはつきもので、プログラムで処理をおこなう際も繰り返しおこなう作業はあります。
そんな時に繰り返し文を使えば効率が上がり、記述も少なく済みます。
条件式が成り立つ限り(Trueの間)、繰り返し処理が実行されます。
以前に勉強したif文に書き方が似ています。
変数を初期化
while 条件式:
繰り返したい処理
変数を更新
これをコードで書いてみましょう。
例1:
i = 1
while i <= 10:
print("Hello ALIS")
i = i + 1
これを実行すると
「Hello ALIS」が10回出力されました。
これは
①で、変数「i」に1を代入します。
②で、変数「i」が10以下ならインデントされた下段コードを実行します。
③で、「Hello ALIS」と出力します。
④で、変数「i」に変数「i」+「1」と代入します。(1回目のiは1なので1+1で2となります。2回目のiは2になるので2+1で3となります。)
ここでif文のとの違いがでます。while文はここから条件が成り立つ限り②に戻り②、③、④を繰り返しまし、変数「i」が「11」になった時点でループから抜け出します。
こんどは変数「i」の値を確認するために一緒に出力してみましょう。
例2:
i = 1
while i <= 10:
print("Hello ALIS",i,"回目")
i = i + 1
これを実行して見ると
変数「i」が1~10の間繰り返されていることが分かります。
while文では必ず「変数の更新」をしなければいけません。これを書き忘れると変数の値が初期値のままで、無限に同じ処理を繰り返してしまいます。
i = 1
while i <= 10:
print("Hello ALIS",i,"回目")
最後の「変数の更新」を記述せずに実行すると
変数「i」が1のままなので「Hello ALIS 1回目」を無限に繰り返します。
こうなってしまうと、強制的にプログラムを終了させなければなりません。
パソコンによっては再起動が必要になるときもあります。
上記で使用した[i = i + 1]という式では、iを2回書かなければなりませんが、累積代入文を使えば下記のように短く書けます。
i = i + 1 → i += 1
i = i - 1 → i -= 1
i = i * 1 → i *= 1
i = i / 1 → i /= 1
四則演算はよく使うので出来るだけ短く書きたいですね。
ループ処理ももう少し~
分析してみたシリーズはこちら→「昨日のALIS 分析 8/12(日)」