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つを試してチャットを始めてください