こんにちは!! ホーさんの記事で衝撃を受け、投稿を再開したののたです。
Pythonを勉強して学んだ事をALISの記事にすれば勉強が続くのでは!?と思い
メモ代わりに投稿!!
※変な事を言っていたらTwitterやコメントで教えてください・・・
前回に引き続き今回も繰り返して同じ処理をする「ループ」を勉強します。
前回、勉強したwhileは条件式が成り立つ限りループします。
for in は指定した数だけループさせたり、リストの要素の数でループさせたりしたいときに使います。
range()関数を使えばいろいろな方法で数の指定ができます。
range(引数)
これをfor inと組み合わせて使います。
書き方は
for 変数 in range(引数): #引数に繰り返した回数を指定する。
繰り返したい処理
コードで書いてみると
例:1
for i in range(5):
print("Hello ALIS")
これを実行させると
「Hello ALIS」が5回実行されました。
「range」の引数に5と指定してすると「変数i」に0,1,2,3,4と一つずつ順番に代入されます。
代入されている間「Hello ALIS」をプリントする処理が繰り返されます。
そして指定した5がくると代入せずに終了します。
これを分かり易くするために「変数i」もプリントしましょう。
例:2
for i in range(5):
print("Hello ALIS iは",i)
iに0が代入され「Hello ALIS」をプリントする。
iに1が代入され「Hello ALIS」をプリントする。
iに2が代入され「Hello ALIS」をプリントする。
iに3が代入され「Hello ALIS」をプリントする。
iに4が代入され「Hello ALIS」をプリントする。
指定した5がくると代入せずに処理を終了する。
と、いう感じで5回繰り返されます。
伝わりますか?文章で書くのって難しいですね・・・記事を書いていると、絵心も必要だなと、よく感じます。イラスト書ける人はすごい!!
range(レンジ)の引数に引数1(始まり)と引数2(終わり)を指定すれば数値内で繰り返すことができます。
for 変数 in range(引数1:引数2):
繰り返したい処理
コードで書くと
for i in range(2,5):
print("Hello ALIS iは",i)
実行すると
iに始まりの指定した2が代入され「Hello ALIS」をプリントする。
iに3が代入され「Hello ALIS」をプリントする。
iに4が代入され「Hello ALIS」をプリントする。
終わりに指定した5がくると代入せずに処理を終了します。
※左の数字は始まりのインデックスで自身も含みます。
※右の数字は終わりのインデックスで自身を含みません。
ちなみに
前回にwhileで使用したコードをfor inで書くと
例:3
while文
i = 1
while i <= 10:
print("Hello ALIS",i,"回目")
i = i + 1
for in 文
for i in range(1,11):
print("Hello ALIS",i,"回目")
for in の方が短く書けます。
同じ要領でrangeの代わりにリストを使う事もできます。
リストの場合は要素の数だけ処理を繰り返します。
for 変数 in リスト:
繰り返したい処理
例:4
weeks = ['月','火','水','木','金','土','日']
for i in weeks:
print(i)
実行すると
リストから要素を1つ取り出し「変数i」に代入してプリント処理をする。
これをリストの要素がなくなるまで繰り返します。
リストの一部だけを指定して取り出すこともできます。
for 変数 in リスト[引数1:引数2]:
繰り返したい処理
引数1に範囲の始まりのインデックスを指定して
引数2に範囲の終わりのインデックスを指定します。
例:5
weeks = ['月','火','水','木','金','土','日']
for i in weeks[2:5]:
print(i)
Pythonではインデックスの始まりを0から数えるからで月が[0]で日が[6]になります。
指定した[2]から始まり[2]は水、[3]は木、[4]は金にとなり、[5]は代入せずに処理を終了していますので水、木、金と出力されています。
※左の数字は始まりのインデックスで自身も含みます。
※右の数字は終わりのインデックスで自身を含みません。
ループ3・・・もう少しループを
分析してみたシリーズはこちら→「先週のALIS 8/12(日)~18(土)」
前回<<< >>>次回