東大でPython! - 繰り返し(2)
繰り返しを実行する他の方法です。
in
リスト内に指定する要素があるかどうか判定します。あれば真偽値Trueとなり実行されます。以下実行すると"指定の色は含まれています"と出力されます。
colors = ['red', 'green', 'blue']
color = 'red'
if color in colors:
print("指定の色は含まれています")
変数"color"を以下のように定義するとFalseとなり実行されません。実行されません。
while文による繰り返し
形式は以下となり条件がTrueの場合に処理が行われます。
以下を実行すると
x = 1
total = 0
while x <= 3:
total += x
x += 1
print(x)
"4"と出てききます。Xは1から始まり3までが条件です。最後の3の場合処理としては
となっています。実際の処理としては
次は"x = 2"となっているので"1"追加されると
x = 3 となり最後ののwhile文の最終条件となります。この場合も"1"足されるので
となります。
ここで
の条件から外れるので"print(x)"とすると"4"とでてきます。
xの値としては
と変わっていくのでそれを
で足し込んでいくと
となります。この計算処理が終わった後"x"は以下の処理で"4"となります。
"x = 4"となり最初の条件文
の"x"は”3以下の時に処理しなさい”ということなので"x = 4"では条件から外れ、このあとは実行されません。
Whileの繰り返しは最初に条件をクリアしたものだけ実行されます。
break とcontinue
繰り返し処理の途中でも
break ・・・ ”実行を止める”
continue ・・・ ”飛ばして続ける”
とすることができます。
break文
条件が合えばすぐに処理を終わりそのあとの処理は実行されません。
x = 256
total = 0
count = 0
while x > 0:
if total > 500:
break
total += x
x = x // 2
count += 1
print(x, total,count)
と出力されます。
break以降が実行されていないかを確認してみます。
x = 256
total = 0
count = 0
count2 = 0
while x > 0:
count += 1
if total > 500:
break
total += x
count2 += 1
x = x // 2
print(x,total)
print(x, total,count,count2)
count,count2の変数を作ってbreakの前後で実行されているかをみてみます。
これを実行すると
breakによってその後の処理が行われていないことがわかります。
continue文
条件が合えばそれ以下の処理をせずに次の処理へと飛ばして続けます。
colors = ['red', 'green', 'blue', 'black', 'white']
for c in colors:
if c == 'black':
continue
print(c)
これを実行すうると"black"の順番の時には以下の処理"print(c)"の処理を飛ばして次の"blue"の処理を行っています。
この記事が気に入ったらサポートをしてみませんか?