【高校情報Ⅰ】 プログラミング Python 入門 第3話 繰り返しループ処理
動画を見たら以下の問題が解けるようになります(動画の最後で説明)
情報Ⅰ共通テスト対策 書籍出版します!
■■動画解説■■
文字おこし
for i in range(5):
print(i)
先にこのプログラムを実行してみよう。
0から4までが表示されたね。
処理の流れを説明するね。
まず for は繰り返しなさいっていう意味なんだ。
その次のiはこの前説明した変数なんだ。もちろんi以外でも大丈夫だけど、一般的にi,j,kという風にiからのアルファベットが使われる。
in から右は変数に入れる値を定義しているんだ。
rangeは値を返却する関数と言われるもの、その中に5ってあるのは終了値を意味して
0から5未満の整数 つまり0から4までを返却するんだ。
ちょっと実行してみよう
0から4まで表示されたね
処理の流れについて説明するね。
まずrangeは0から4までを返却する
そしてそれが順番に変数 iに格納される
そして次の print(i)が実行されて 0が表示される
これが5未満の4になるまで繰り返されるんだ
初期値を0以外にすることもできる
for i in range(20,31):
print(i)
これはrange内の左側の数値が初期値で、右側は終了値さっきと同じで
31未満だからこの場合は20から30までが表示される。
いまは1づつ増えていったけど、この増え方も決めることができる。
20,31はさっきと同じだけどその隣の2は2づつ増やしてくださいという意味なんだ実行してみよう。
for i in range(20,31,2):
print(i)
逆に増分をマイナスにすると数を減らすことも可能なんだ。
初期値が10 終了値が0未満だから 1になるまで繰り返される
実行してみよう。
for i in range(10, 0, -1):
print(i)
printのところが字下げされているでしょ。
この字下げをインデントというんだ。
このインデントされている範囲を繰り返しなさいという意味になる。
インデントは半角スペース4つ分という決まりがあるんだ。
タブキーを押しても半角スペース4つ分と同じ字下げを行ってくれるので
タブキー一回押す方が楽かな。どちらかに統一しよう。
どこまでループされるかを確認していこう
for i in range(1, 5, 1):
print(i)
print(‘END’)
数字が出るごとにENDがでたね。
これはループ内にENDが属しているということだ
じゃあ、print ENDの字下げをとってみよう
今度はENDが最後の一回だけだね
for文の中が繰り返されてそれが終了したら
はじめてprint ENDが呼ばれるんだ。
こういう風にプログラムを階段の様に段差を付けてグループを見やすくすることを階層化というんだ。
ループは入れ子にすることもできる。
まず親のfor文の一回目が実行されるとprint i で0が表示される。
そして子のfor文が呼び出されて 0~2までの3回繰り返されて終わったら
親の次のループに戻るんだ。
for i in range(2):
print(i)
for j in range(3):
print("入れ子です")
print("END")
じゃあ、今日の復習問題をやっていこう。
答え
ソースコード
for i in range(5):
print(i)
for i in range(20, 31):
print(i)
for i in range(20, 31, 2):
print(i)
for i in range(10, 0, -1):
print(i)
for i in range(1, 5, 1):
print(i)
print("END")
for i in range(2):
print(i)
for j in range(3):
print("入れ子です")
print("END")
for i in range(4):
print(i)
for i in range(1, 10, 2):
print(i)
for i in range(2, 6):
print(i)
print("終わりです。")
for i in range(2, 6):
print(i)
for i in range(2):
print("途中です。")
print("終わりです。")
この記事が気に入ったらサポートをしてみませんか?