Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Whileループ | セクション
データ分析のためのPython基礎
セクション 1.  26
single

single

bookWhileループ

メニューを表示するにはスワイプしてください

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
copy

この例では、queue_lengthカウンター変数として機能し、5 から開始します。ループの各反復ごとに、queue_length の値は 1 ずつ減少し、0 になるまで続きます。その時点で、条件 0 > 0False となるため、ループは終了します。

Note
注意

ループを停止する条件を満たすために、ループ内でカウンター変数を更新することが重要です。これを行わないと、ループは無限に実行され、以降のコードが実行されなくなります。

例:応用

スーパーマーケットで牛乳の在庫管理をしている状況を想像してください。在庫が一定のレベルを下回らないように管理し、下回った場合は在庫を補充して適切なレベルを維持する必要があります。

このような場合、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.")
copy
Note
注意

milk_stock += restock_quantitymilk_stock = milk_stock + restock_quantity と同じ意味です。より簡潔で読みやすい書き方です。

上記のフローチャートは、牛乳在庫を管理するために使用されるwhileループのロジックを示しています。カウンタ変数milk_stock15から開始し、各ループの繰り返しごとにrestock_quantityだけ増加します。

ループは、milk_stockmin_stockの閾値である50超えるまで実行され、その時点で停止します。

タスク

スワイプしてコーディングを開始

whileループを使用して、すべてのカウントダウン値をリストに収集するディスカウントカウントダウンタイマーの作成。

  1. whileループを使い、start_numberから1(含む)まで1ずつ減らしながらカウントダウン。
  2. 各イテレーションで、現在のカウントダウン値をcountdown_valuesリストに追加。
  3. ループ終了後にDiscount countdown complete!を出力し、その後countdown_valuesリストを出力。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  26
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt