while文とfor文
for文を使って書くよりも変数の数が少なくて済むし直感的
ただしfor分の方が小回りがきくような印象
while文→for文で実装すると良いかもしれない
→ 順番とか特になく、理解と使い分けが必要
while文は直感的だが、処理を書き忘れると無限ループに入ってしまうため注意が必要
※ コメントいただいたので修正
for → イテレータ
while → 条件成立の間
py.qiita.py
# 6 while文
i = 1
for j in range(99):
i = i + 1
print(i)
#******************************************
i = 1
while i < 100:
# i = i +1 は省略できる
i += 1
# print(i)
print(i)
breakの使い方
breakは特定の条件で処理(ループ)を強制終了させることができる
py.qiita.py
# 6-2 break
# break 特定の条件になったらwhile文を強制終了
i = 0
while i < 100:
# 60という値になったら処理を終了する
if i == 60:
break
i +=1
print(i)
# breakの使い方
# while Trueは常にループするという意味
# breakをしてあげないと、無限ループし続ける
j = 0
while True:
if j == 100:
break
j +=1
print(j)
continueの使い方
continueはループの中での特定の条件をスキップすることができる。
そのためある条件における処理をスキップして別の処理に変更することができる
※コメントいただいたので修正
py.qiita.py
# 6-3 continue
i = 0
while i < 100:
# 必ず実行する処理
i += 1
# FIzzBuzzの時だけ処理を変える
if i % 15 == 0:
print(f'FizzBuzz({i})')
# continue: ここはなくて良い
elif i % 3 == 0:
print(f'Fizz({i})')
# continue: ここはなくて良い
elif i % 5 == 0:
print(f'Buzz({i})')
# continue: ここはなくて良い
else:
# 数字の出力
print(i)
上のコードをcontinueを使って実装したいなら
py.qiita.py
# 6-3 continue
i = 0
while i < 100:
# 必ず実行する処理
i += 1
# FIzzBuzzの時だけ処理を変える
if i % 15 == 0:
print(f'FizzBuzz({i})')
continue
elif i % 3 == 0:
print(f'Fizz({i})')
continue
elif i % 5 == 0:
print(f'Buzz({i})')
continue
# スッキプ時以外に実行
print(i)