注釈
こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。
参加する理由は?
エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。
独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。
特別割引:最新製品の独占割引をお楽しみください。
祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。
👉 私たちと一緒に探索し、創造する準備はできていますか?[ここ]をクリックして今すぐ参加しましょう!
Forループ¶
for ループは、リストや文字列など、任意の項目のシーケンスをトラバースすることができます。
forループの構文フォーマットは以下の通りです:
for val in sequence:
Body of for
ここで、 val は各イテレーションでシーケンス内の項目の値を取得する変数です。
ループはシーケンスの最後の項目に到達するまで続きます。本体をコードの残りの部分から分離するためにインデントを使用します。
forループのフローチャート
numbers = [1, 2, 3, 4]
sum = 0
for val in numbers:
sum = sum+val
print("The sum is", sum)
>>> %Run -c $EDITOR_CONTENT
The sum is 10
Break文¶
break文を使えば、全ての項目をループする前にループを停止させることができます:
numbers = [1, 2, 3, 4]
sum = 0
for val in numbers:
sum = sum+val
if sum == 6:
break
print("The sum is", sum)
>>> %Run -c $EDITOR_CONTENT
The sum is 6
Continue文¶
continue 文を使えば、ループの現在のイテレーションを停止し、次のイテレーションで続行することができます:
numbers = [1, 2, 3, 4]
for val in numbers:
if val == 3:
continue
print(val)
>>> %Run -c $EDITOR_CONTENT
1
2
4
range()関数¶
range()関数を使って一連の数値を生成することができます。range(6)は0から5の間の数値を生成します(6つの数値)。
また、range(start, stop, step_size)として開始、停止、ステップサイズを定義することもできます。指定されていない場合、step_sizeはデフォルトで1になります。
rangeの意味では、オブジェクトは「怠惰」です。なぜなら、オブジェクトを作成しても、それが「含む」すべての数値を生成しないからです。しかし、これはin、len、__getitem__操作をサポートしているため、イテレータではありません。
この関数はすべての値をメモリに格納しません。それは非効率的です。したがって、開始、停止、ステップサイズを覚えておいて、進行中に次の数値を生成します。
この関数にすべての項目を出力させるには、list()関数を使用することができます。
print(range(6))
print(list(range(6)))
print(list(range(2, 6)))
print(list(range(2, 10, 2)))
>>> %Run -c $EDITOR_CONTENT
range(0, 6)
[0, 1, 2, 3, 4, 5]
[2, 3, 4, 5]
[2, 4, 6, 8]
range() を for ループ内で使用して数値のシーケンスを繰り返すことができます。len()関数と組み合わせてインデックスを使用してシーケンスをトラバースすることもできます。
fruits = ['pear', 'apple', 'grape']
for i in range(len(fruits)):
print("I like", fruits[i])
>>> %Run -c $EDITOR_CONTENT
I like pear
I like apple
I like grape
ForループでのElse¶
for ループにはオプショナルな else ブロックも持たせることができます。ループに使用されるシーケンスの項目が使い果たされた場合、 else 部分が実行されます。
break キーワードを使用して for ループを停止させることができます。この場合、 else 部分は無視されます。
したがって、中断が発生しなければ、 for ループの else 部分が実行されます。
for val in range(5):
print(val)
else:
print("Finished")
>>> %Run -c $EDITOR_CONTENT
0
1
2
3
4
Finished
ループがbreak文で停止された場合、elseブロックは実行されません。
for val in range(5):
if val == 2: break
print(val)
else:
print("Finished")
>>> %Run -c $EDITOR_CONTENT
0
1