繰り返し処理
すでにリストのところで出てきていますが、プログラムでは同じ処理を、値を変えて繰り返す処理がよく出てきます。こうした処理を利用することで、大量のデータを処理していくことができます。
Pythonではfor文やwhile文で、繰り返し処理をおこなえます。
リストとfor文
まずはリストとfor文の組み合わせです。すでに出てきた書き方の復習です。
animals = ["cat", "dog", "bear"]
for name in animals:
print(name)
cat dog bear
要素のインデックスと値を得たいときはenumerate()関数を使います。プログラムと出力の例を示します。
animals = ["cat", "dog", "bear"]
for i, name in enumerate(animals):
print(i, name)
0 cat 1 dog 2 bear
range()関数
リストを使わずに、数値だけでfor文を実行したいときは、range()関数を使います。range(stop)と書くと、0から始まり、1ずつ大きくなり、stop未満まで処理をおこないます。
プログラムと出力の例を示します。0から始まり、1ずつ大きくなり、4未満まで(この場合は3まで)処理をおこないます。
for i in range(4):
print(i)
0 1 2 3
range()関数は引数を増やせます。引数を2つにするとrange(start, stop)の意味になります。引数を3つにするとrange(start, stop, step)の意味になります。startから値を開始して、1ずつあるいはstepずつ値を増やして、stop未満まで処理をおこないます。
プログラムと出力の例を示します。まずは引数2つの場合です。1から始まり、1ずつ大きくなり、4未満まで(この場合は3まで)処理をおこないます。
for i in range(1, 4):
print(i)
1 2 3
プログラムと出力の例を示します。次は引数3つの場合です。1から始まり、2ずつ大きくなり、4未満まで(この場合は3まで)処理をおこないます。
for i in range(1, 4, 2):
print(i)
1 3
while文
while文は、while 条件式:の、条件式がTrueのあいだ処理を続けます。for文が回数に注目した繰り返しだったのに対して、while文は条件を満たすかに注目した繰り返しです。
プログラムと出力の例を示します。変数numの値を1から始めて、1ずつ足していき、4未満のあいだ処理を続けます。
num = 1
while num < 4:
print(num)
num += 1
1 2 3
breakとcontinue
繰り返し処理は、途中で打ち切ったり、飛ばしたりすることができます。
繰り返し処理を途中で打ち切るときはbreak文を使います。
プログラムと出力の例を示します。if文を使い、変数iの値が2のときに、break文で処理を打ち切っています。
for i in range(4):
if i == 2:
break
print(i)
0 1
繰り返し処理を途中で飛ばすときはcontinue文を使います。
プログラムと出力の例を示します。if文を使い、変数iの値が2のときに、continue文で処理を飛ばしています。
for i in range(4):
if i == 2:
continue
print(i)
0 1 3

