single
Whileループ
メニューを表示するにはスワイプしてください
whileループは、**回数が事前に分からない繰り返し(無限反復)**を扱うための主要なツールであり、特定のしきい値に達するまで在庫レベルを監視するなど、繰り返し回数が事前に分からない状況で役立ちます。
アレックスがwhileループを使って動的な状況をどのように処理するかを見てみましょう:
Pythonのwhileループは、指定した条件がTrueである限り、コードブロックを継続的に実行します。
構文
whileループを開始するには、カウンタ変数を定義し、その後にwhileキーワードとブール条件を記述します。条件の後にはコロン:を付け、ループのコードブロックの開始を示します。
条件がFalseになるまで、ループは繰り返し実行されます。通常、カウンタ変数はループ内で更新され、最終的に条件をFalseにしてループを終了させます。
次のwhileループの例を見てみましょう:
1234567891011# Handling a queue at a grocery store checkout queue_length = 5 # Initial number of people in the queue while queue_length > 0: # Start the `while` loop as long as the queue isn't empty print(f"Current queue size: {queue_length}") # Simulate serving a customer print("Serving the next customer...") # Decrease the queue length by 1 as a customer leaves # The `-=` operator is a shortcut for `queue_length = queue_length - 1` queue_length -= 1
この例では、queue_length がカウンタ変数として機能し、5 から開始します。ループの各反復ごとに、queue_length の値は 1 ずつ減少し、0 になるまで続きます。その時点で、条件 0 > 0 が False となるため、ループは終了します。
注意
ループを停止する条件を満たすために、ループ内でカウンタ変数を更新することが重要です。これを行わないと、ループは無限に実行され、以降のコードが実行されなくなります。
実用例
スーパーマーケットで牛乳の在庫管理をしている状況を想像してください。在庫が一定のレベルを下回らないように管理し、下回った場合は在庫を補充して適切なレベルを維持する必要があります。
このような場合、while ループを使うことで、複数回に分けて在庫を補充し、目標の在庫数に達するまで繰り返し処理を行うことができます。while ループを使わなければ、必要な補充量を一度に計算して補充しなければなりません。
例えば、店舗スタッフが一度に補充できる牛乳の数が決まっている(例:1回につき 20 パック)とします。在庫が十分に補充されていない場合、スタッフは倉庫に戻って再度牛乳を運びます。
123456789101112131415161718# Initial amount of milk in stock milk_stock = 15 # Minimum stock level before restocking is necessary min_stock = 50 # Quantity a worker can restock at one time restock_quantity = 20 # Start the loop to restock milk until the stock exceeds the minimum required level while milk_stock < min_stock: # If the loop is running, the condition is `True`, indicating we need more milk print(f"Milk stock is low: {milk_stock} units remaining.") # Simulate the process of restocking milk print("Restocking milk...") # Increase the stock by the quantity the worker can bring in one trip milk_stock += restock_quantity # Output the final stock level after restocking is complete print(f"Milk stock updated: {milk_stock} units, which is now sufficient.")
注意
milk_stock += restock_quantityはmilk_stock = milk_stock + restock_quantityと同じ意味です。これは、同じ操作をより簡潔かつ読みやすく表現する方法です。
上記のフローチャートは、ミルク在庫を管理するために使用される while ループのロジックを示しています。カウンタ変数 milk_stock は 15 から始まり、各ループごとに restock_quantity だけ増加します。
ループは、milk_stock が min_stock のしきい値である 50 を超えるまで繰り返され、その時点で停止します。
スワイプしてコーディングを開始
whileループを使用して、すべてのカウントダウン値をリストに収集するディスカウントカウントダウンタイマーを作成する。
- whileループを使用し、
start_numberから1(両端を含む)まで、各イテレーションで1ずつ減らしながらカウントダウンします。 - 各イテレーションで、現在のカウントダウン値を
countdown_valuesリストに追加します。 - ループ完了後に
Discount countdown complete!と表示し、続けてcountdown_valuesリストを出力します。
解答
フィードバックありがとうございます!
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください