概要
while ループは Python の基本的な制御フロー ステートメントであり、特定の条件が true である限りコード ブロックを繰り返し実行できます。これは、反復的なタスクを自動化し、一連の値を反復処理する方法を提供します。この記事では、Python の while ループの構文、使用法、およびさまざまなアプリケーションについて説明します。
目次
While ループの構文と構造
Python の while ループの構文は次のとおりです。
while condition:
# code to be executed
条件は、ループを継続するか終了するかを決定するブール式です。条件が True とみなされる場合、ループ内のコード ブロックが繰り返し実行されます。条件が False になるとループは終了し、プログラムはループ後の次のステートメントに進みます。
基本的な使い方と例
while ループの基本的な使用法を理解するために、簡単な例から始めましょう。 1 から 5 までの数値を出力したいとします。以下に示すように、while ループを使用してこれを実現できます。
num = 1
while num <= 5:
print(num)
num += 1
出力
1
2
3
4
5
この例では、変数 `num` を 1 に初期化します。 `num` が 5 以下の場合、while ループは継続します。 ループ内で、`num` の値を出力し、次のコマンドを使用して 1 ずつ増分します。 「+=」演算子。このプロセスは、`num` が 6 になるまで繰り返され、条件が False になるとループは終了します。
ループ制御ステートメントによるフローの制御
Python には、while ループのフローを制御できるように、「break」、「 continue」、「 pass 」という 3 つのループ制御ステートメントが用意されています。
「ブレイク」ステートメント
`break` ステートメントは、ループ条件がまだ true である場合でも、ループを途中で終了するために使用されます。特定の条件を満たした場合にループを即座に終了させたい場合によく使用されます。以下に例を示します。
num = 1
while num <= 10:
if num == 6:
break
print(num)
num += 1
出力
1
2
3
4
5
この例では、if 条件内で `break` ステートメントを使用しているため、`num` が 6 になるとループが終了します。その結果、1 から 5 までの数字のみが出力されます。
「継続」ステートメント
「Continue」ステートメントは、ループ内の残りのコード ブロックをスキップして次の反復に移動するために使用されます。これは、特定の値または条件をスキップして次の反復を続行する場合に便利です。以下に例を示します。
num = 1
while num <= 5:
if num == 3:
num += 1
continue
print(num)
num += 1
出力
1
2
4
5
この例では、if 条件内で「Continue」ステートメントを使用しているため、ループは値 3 をスキップします。その結果、数値 3 は出力されず、ループは次の反復に継続されます。
「パス」ステートメント
「pass」ステートメントは、ループ内で何もしたくない場合のプレースホルダーです。これは、開発中または空のループを作成する場合の一時的なプレースホルダーとしてよく使用されます。以下に例を示します。
num = 1
while num <= 5:
pass
num += 1
この例では、`pass` ステートメントは何も行わず、ループによって `num` の値が 6 になるまで増加します。
一般的な使用例とアプリケーション
While ループは Python で幅広い用途に使用できます。いくつかの一般的な使用例を見てみましょう。
条件が満たされるまで反復する
While ループは、特定の条件が満たされるまで反復する場合によく使用されます。たとえば、2 より大きい 1000 の最初のべき乗を見つけたいとします。これを実現するには、while ループを使用できます。
num = 1
while num <= 1000:
num *= 2
print(num)
出力
1024
この例では、ループは `num` が 1000 を超えるまで続きます。反復ごとに、`num` が 2 倍され、最終値が出力されます。
ユーザー入力の検証
While ループは、ユーザー入力を検証し、入力が特定の基準を満たしていることを確認するのに役立ちます。たとえば、ユーザーに正の整数を入力するように求めるとします。 while ループを使用して、有効な整数が繰り返し入力されるまで入力を求めることができます。
while True:
try:
num = int(input("Enter a positive integer: "))
if num > 0:
break
else:
print("Invalid input. Please enter a positive integer.")
except ValueError:
print("Invalid input. Please enter a valid integer.")
この例では、有効な正の整数が入力されるまでループが無限に続きます。 `try-excel` ブロックは、入力を整数に変換する際の潜在的なエラーを処理します。
無限ループの作成
While ループを使用すると、特定の条件が満たされるまで無限に継続する無限ループを作成できます。たとえば、「Hello, World!」を出力する単純な無限ループを作成してみましょう。繰り返し:
while True:
print("Hello, World!")
この例では、ループ条件は常に True であるため、ループは無限に継続します。ループを終了するには、「break」ステートメントを使用するか、プログラムの実行を中断します。
無限ループは、リアルタイム監視またはログ システムのコンテキストで役立つ場合があります。特定のイベントや変更についてシステムまたはネットワークを継続的に監視し、情報を記録する必要がある状況を想像してください。無限ループを使用して、これらの条件をチェックし、適切なアクションを常に実行することができます。
ゲームループの実装
While ループは、ゲーム フローを制御し、ユーザー入力を処理するゲーム ループを実装するためにゲーム開発でよく使用されます。通常、ゲーム ループは、ゲーム状態の更新、ゲーム グラフィックスのレンダリング、ユーザー入力の処理という 3 つの主要コンポーネントで構成されます。簡略化した例を次に示します。
game_running = True
while game_running:
# Update game state
# Render game graphics
# Handle user input
この例では、「game_running」変数が True である限りループが継続します。ループ内で、ゲームの状態を更新し、ゲームのグラフィックをレンダリングし、ユーザー入力を処理します。このプロセスは、ゲームが終了するか、プレイヤーが終了を選択するまで繰り返されます。
こちらもお読みください: データ サイエンスをゼロから学ぶための完全な Python チュートリアル
ネストされた While ループとループのネスト
Python while ループをネストできます。つまり、while ループを別の while ループの中に入れることができます。これは、反復タスク内で反復タスクを実行する必要がある場合に便利です。以下に例を示します。
outer_num = 1
while outer_num <= 3:
inner_num = 1
while inner_num <= 3:
print(outer_num, inner_num)
inner_num += 1
outer_num += 1
出力
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
この例では、1 から 3 を反復する外側の while ループと、外側のループの反復ごとに 1 から 3 を反復する内側の while ループがあります。内側ループ内の print ステートメントは、両方のループ変数の値を表示します。
While ループを使用するためのヒントとベスト プラクティス
ループは強力な構造ですが、正しく使用しないとエラーが発生しやすくなります。 while ループを使用するときに留意すべきヒントとベスト プラクティスをいくつか示します。
変数を適切に初期化する
while ループに入る前に、ループ変数を初期値に初期化します。これにより、ループ条件が正しく評価され、予期しない動作が防止されます。例えば:
count = 0
while count < 10:
print(count)
count += 1
この例では、ループに入る前に変数 `count` を 0 に初期化します。
ループを確実に終了する
無限ループを回避するには、ループ条件が最終的に False になることを常に確認してください。これは、ループ変数を更新するか、「break」などのループ制御ステートメントを使用することによって実現できます。例えば:
num = 1
while num <= 10:
if num == 6:
break
print(num)
num += 1
この例では、break 文により num が 6 になった時点でループが終了します。
無限ループの回避
while ループを使用する場合は、終了しない無限ループが作成されないよう注意してください。無限ループはプログラムのクラッシュを引き起こし、過剰なシステム リソースを消費する可能性があります。ループ条件を常に再確認し、ある時点で False になる可能性があることを確認してください。
読みやすく保守しやすいコードを書く
While ループは、適切に記述しないと複雑になり、理解しにくくなる可能性があります。意味のある変数名を使用し、ループの目的を説明するコメントを追加し、複雑なタスクを小さなサブタスクに分割します。これにより、コードがより読みやすく、保守しやすくなります。
高度なテクニックとコツ
While ループを高度な方法で使用して、特定のタスクを実行できます。ここでは、高度なテクニックとコツをいくつか紹介します。
Else ステートメントによるループ
Python では、while ループで else ステートメントを使用して、ループ条件が False になったときにコード ブロックを実行できます。もう 1 つのブロックは、ループが Break ステートメントなしで正常に完了した場合にのみ実行されます。以下に例を示します。
num = 1
while num <= 5:
print(num)
num += 1
else:
print("Loop completed")
出力
1
2
3
4
5
ループが完了しました
この例では、ループが正常に完了した後に else ブロックが実行されます。
リストと文字列での While ループの使用
While ループを使用すると、インデックス変数を使用してリストと文字列を反復処理できます。以下に例を示します。
fruits = ["apple", "banana", "cherry"]
index = 0
while index < len(fruits):
print(fruits[index])
index += 1
出力
リンゴ
banana
チェリー
この例では、while ループはインデックス変数を使用して「fruits」リストの要素を反復処理します。
こちらもお読みください: Python の組み込みデータ構造について知っておくべきこと – 初心者ガイド!
Python の他のループ構造との比較
While ループは、Python で使用できるいくつかのループ構造の 1 つにすぎません。 while ループと for ループおよび再帰を比較してみましょう。
While ループと For ループの比較
ループとループはどちらも反復に使用されますが、使用例は異なります。 while ループはより柔軟で複雑な条件を処理できますが、for ループは一連の値を反復処理するのに適しています。 While ループは、正確な反復回数が事前にわからない場合、または複雑な計算を実行する必要がある場合に便利です。ループは、リストや文字列などの一連の値を反復処理する場合に便利です。
While ループと再帰
再帰は、関数がそれ自体を呼び出して問題を解決する手法です。 while ループと同様の繰り返しタスクを実現するために使用できますが、いくつかの違いがあります。 While ループは、明確な終了条件があり、固定回数の反復を実行する必要がある反復タスクに適しています。再帰は、検索、並べ替え、ツリー トラバーサル アルゴリズムなど、より小さなサブ問題に分割された問題を解決するのに適しています。
まとめ
この記事では、Python の while ループの概念について説明しました。その構文、基本的な使い方、さまざまな応用について学びました。また、while ループを使用するためのヒント、ベスト プラクティス、よくある間違い、高度なテクニックについても説明しました。最後に、while ループを Python の他のループ構造と比較しました。この知識があれば、while ループを効果的に使用して反復タスクを自動化し、Python プログラム内の値のシーケンスを反復処理できるようになります。
AI と ML の卓越性の力を解き放ちましょう!今すぐ登録してください 認定 AI & ML BlackBelt Plus プログラム あなたのスキルを新たな高みに引き上げましょう。最新テクノロジーを習得する機会をお見逃しなく – 今すぐキャリアを変革しましょう!
また、オンラインで Python コースをお探しの場合は、当社の – Pythonプログラムの紹介 今日!
関連記事
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- プラトンヘルス。 バイオテクノロジーと臨床試験のインテリジェンス。 こちらからアクセスしてください。
- 情報源: https://www.analyticsvidhya.com/blog/2024/01/python-while-loop-with-examples/
- :持っている
- :は
- :not
- :どこ
- 1
- 10
- 360
- a
- 私たちについて
- 達成する
- 達成
- 行動
- 加えます
- 進める
- 高度な
- 後
- AI
- アルゴリズム
- すべて
- 許す
- ことができます
- また
- 常に
- an
- および
- 別の
- どれか
- 何でも
- Apple
- 適切な
- です
- 記事
- AS
- 頼む
- At
- 自動化する
- 利用できます
- 避ける
- バナナ
- 基本
- BE
- なぜなら
- になる
- になる
- 行動
- 以下
- BEST
- ベストプラクティス
- より良いです
- ブロック
- 両言語で
- ブレーク
- 内蔵
- 焙煎が極度に未発達や過発達のコーヒーにて、クロロゲン酸の味わいへの影響は強くなり、金属を思わせる味わいと乾いたマウスフィールを感じさせます。
- by
- コール
- 缶
- キャリア
- 例
- 用心深い
- 一定
- 変更
- チェック
- 選択する
- クリア
- コード
- 注釈
- コマンドと
- 一般に
- 比較します
- 比べ
- コンプリート
- 記入済みの
- 完了
- 複雑な
- コンポーネント
- コンセプト
- 条件
- 条件
- 見なさ
- からなる
- 絶えず
- 消費する
- コンテキスト
- 続ける
- 続ける
- 連続的に
- コントロール
- 変換
- 可能性
- カウント
- ここから
- 作ります
- 作成
- 基準
- データ
- データサイエンス
- 決定
- 開発
- の違い
- 異なります
- 難しい
- 議論する
- ディスプレイ
- 分割された
- do
- ありません
- ドント
- ダウン
- 間に
- 各
- 効果的に
- 要素は
- エレベート
- ほかに
- 採用
- 空の
- 終了
- 登録します
- 確保
- 確実に
- 確保する
- 入力します
- 入力されました
- 入る
- 等しい
- エラー
- エーテル(ETH)
- 評価
- さらに
- イベント
- 最終的に
- すべてのもの
- 例
- 例
- 超え
- 除く
- 過度の
- 実行します
- 実行された
- 実行
- 出口
- 説明する
- 探る
- 調査済み
- 表現
- false
- ファイナル
- 最後に
- もう完成させ、ワークスペースに掲示しましたか?
- 名
- 固定の
- フレキシブル
- フロー
- 次
- から
- 果物
- function
- 基本的な
- ゲーム
- ゲーム開発
- Games
- グラフィック
- 大きい
- ハンドル
- ハンドル
- ハンドリング
- 持ってる
- ハイツ
- こんにちは
- こちら
- ハイ
- HTTPS
- if
- 絵
- 直ちに
- 実装する
- in
- 増加
- index
- 情報
- 初期
- 内側の
- 内部
- に
- IT
- 繰り返し
- 繰り返し
- 繰り返し
- 自体
- ただ
- 一つだけ
- キープ
- 知っている
- 知識
- 最新の
- つながる
- LEARN
- 学んだ
- less
- ような
- リスト
- リスト
- ログ
- ロギング
- 長い
- 探して
- メイン
- メンテナンス可能
- 作る
- マスター
- 最大幅
- 意味のある
- 手段
- ミーツ
- 会った
- かもしれない
- マインド
- ミス
- ミス
- ML
- モニター
- モニタリング
- 他には?
- 掛け
- しなければなりません
- 名
- 必要
- Nest
- ネットワーク
- 決して
- 新作
- 次の
- 通常は
- 何も
- 今
- 数
- 番号
- of
- 頻繁に
- on
- かつて
- ONE
- オンライン
- の
- オペレータ
- 機会
- or
- その他
- 私たちの
- でる
- が
- パス
- 実行する
- プレースホルダー
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- プレイヤー
- お願いします
- さらに
- ポイント
- 正の
- 潜在的な
- 電力
- 強力な
- プラクティス
- を防止
- 印刷物
- プリント
- 問題
- 問題
- プロセス
- 演奏曲目
- プログラム
- 正しく
- は、大阪で
- 目的
- Python
- 範囲
- 読む
- への
- レンダリング
- 繰り返し
- 反復的な
- リソース
- REST
- 結果
- 科学
- 検索
- シーケンス
- いくつかの
- すべき
- 示す
- 同様の
- 簡単な拡張で
- 簡略化されました
- 状況
- スキル
- より小さい
- So
- 解決する
- 解決
- 一部
- 特定の
- start
- 都道府県
- ステートメント
- 文
- まだ
- 文字列
- 構造
- 構造
- そのような
- 適当
- SVG
- 構文
- 取る
- タスク
- 技術
- テクニック
- テクノロジー
- 一時的
- より
- それ
- 情報
- アプリ環境に合わせて
- その後
- ボーマン
- 彼ら
- この
- 三
- ヒント
- 〜へ
- 最適化の適用
- ツリー
- true
- 試します
- チュートリアル
- 一般的に
- わかる
- 予期しない
- まで
- アップデイト
- 更新
- 使用法
- つかいます
- 中古
- 便利
- ユーザー
- 有効な
- 検証
- 値
- 価値観
- 変数
- さまざまな
- vs
- 欲しいです
- 仕方..
- 方法
- we
- いつ
- かどうか
- which
- while
- ワイド
- 広い範囲
- 意志
- 以内
- 無し
- でしょう
- 書かれた
- 貴社
- あなたの
- ゼファーネット