Pythonのwhile文は、指定した条件がTrueの間、繰り返し処理を行います。しかし、特定の条件の場合には繰り返し処理をスキップしたい場合があります。そのような場合には、continue文を使用することができます。
while文とcontinueの基本的な使い方
while文の中でcontinueを使用すると、ある条件下で繰り返し処理の一部をスキップすることができます。具体的な例を見てみましょう。
num = 0
while num <= 5:
if num == 4: # numが4の時に、スキップ
print("4でスキップ")
num += 1
continue
print(f"num = {num}")
num += 1
このコードでは、numが4になったときに”4でスキップ”と表示し、その後のprint(f"num = {num}")
をスキップしています。
while文とcontinueの応用例
while文とcontinueを使った応用例として、”所持金が1000円で、残り300円未満になるまでリスト内の商品をランダムに購入し続ける”といったイメージのwhile文について、リスト内に小数や文字列といった無効な値が含まれている場合にはcontinueでスキップする、という形にします。
import random
money = 1000
feelist = [0.1,100, 200, 300,"apple"] # 小数、文字列も含まれたリスト
while money >= 300:
fee = random.choice(feelist)
if not isinstance(fee, int):
print(fee, ":無効な値のため除外")
continue
money -= fee
print(f"料金は {fee}円、残金は {money}")
このコードでは、リストからランダムに選ばれた商品の価格が整数でない場合(つまり、小数や文字列など)にはその商品をスキップしています。
まとめ
while文での繰り返し処理を途中で終了するには「break」を使用しますが、while文での繰り返し処理の一部をスキップするには「continue」を使用します。これらの使い方を理解し、適切にコードに活用しましょう。.