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

single

book条件式

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

この章では、Pythonプログラミングにおける最も基本的な側面の一つである、ifelseelif演算子を用いた条件式について解説します。

これらの演算子を使うことで、特定の条件に基づいて異なるコードブロックを実行でき、プログラム内で動的に判断を下すことが可能になります。これらの条件式を理解することは、さまざまな入力や状況に効果的に対応できるアプリケーションを開発する上で不可欠です。

Alexがこれらの条件式の多様性を実演する様子をご覧ください。

if文は条件を評価し、その条件がTrueの場合にコードブロックを実行します。条件がTrueでない場合、elseelif"else if"の略)文を使って追加の条件を指定し、それに応じて異なるコードを実行できます。

if

主となる条件文で、条件がTrueかどうかを評価します。条件式のシーケンスの最初にif文を一度だけ記述できます。条件がTrueの場合、if文の後にインデントされたコードブロック実行されます

elif

"else if"の略で、elif文は、最初のifまたはそれ以前のelif条件がFalseだった場合に追加の条件を評価します。elif文の後に複数のif文を記述でき、それぞれ独自の条件を持たせることが可能です。

else

これは、直前のifelif条件で特に指定されていない場合のすべてのケースを受け入れる役割を果たします。else文のシーケンスの最後に一つだけif文を記述でき、条件を指定する必要はありません

使用例

まずは、単一の条件に基づいて判断を行うシンプルなif / else文から始めましょう。ここでは、食料品の在庫レベルに基づいて補充が必要かどうかを判断します:

12345678
# Stock level of an item stock_level = 15 # Simple `if`/`else` to check stock levels if stock_level < 20: print("Stock is low") else: print("Stock is okay")
copy

このフローチャートは、前述の if-else の例で Python インタープリタがたどる判断経路を示しています。

次に、elif 文をやや複雑な応用例で利用します。この例では、if / elif / else 文を使い、合計金額に応じて割引率を適用し、より多くの購入を促進します。

12345678910
# Initial conditions totalCost = 150 # Applying discounts based on purchase amount if totalCost >= 200: print("20% discount applied") elif totalCost >= 100: print("10% discount applied") else: print("No discount for purchases under $100")
copy

このフローチャートは、ifelifelse 文を使って合計金額に基づき割引を適用するプロセスを視覚化したものです。

次のアプリケーションでは、より詳細な意思決定プロセスを示すために、入れ子になったif-else条件式を紹介します。1つのif-else構造を別のものの中に組み込むことで、複数の基準に基づいて一連の判断を行うことができます。

この実践的な例は、食料品店が商品タイプ特定の条件(納品からの日数や在庫数など)に基づいて在庫管理を行う方法を示しています。

1234567891011121314151617
# Initial conditions product = 'Non-Perishable' stock = 70 # Determine the handling of products based on type and condition if product == 'Perishable': if daysDelivered >= 4: print("Not fresh - Initiate discount") else: print("Product is fresh") elif product == 'Non-Perishable': if stock > 100: print("Consider discount") else: print("No discount needed") else: print("The product is not specified")
copy

次の意思決定ツリーダイアグラムは、前述のコード例で使用されたネストされた if-else ロジックを視覚的に表現しています。

構文に関する注意点

Pythonで条件文を書く際には、特定の構文ルールを守ることが重要です。コロン : とインデントが実行可能な条件を作成する上で非常に重要な役割を果たしていることに気付いたかもしれません。

これらの細かな要素が果たす役割を確認します:

コロン

ifelifelse 文の末尾にあるコロンは、「今述べた条件が真の場合、次に何をするかを示す」合図のようなものです。コロンは、命令がどこから始まるかを明確に示す標識の役割を果たします。

インデント

インデントされたコードブロックの上にある条件が True の場合、その下のすべてのインデントされたコード行が実行されます。条件が True でない場合、Pythonはこれらのステップをスキップし、次の条件を探します。

これらは些細な点のように見えるかもしれませんが、コードが正しく実行されるためには非常に重要です。Pythonに慣れてくると、これらの習慣は自然と身につきます。

Pythonの基礎をしっかりと理解できて素晴らしいです。制御文の構造を正しく把握することで、より複雑なプログラミング課題にも対応できる堅実な基盤が築かれます。ここで、実践的なシナリオを通じて学んだ内容を応用できる総合的なチャレンジに取り組んでみましょう。

タスク

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

食料品店向けのシンプルな割引戦略システムを作成し、商品タイプと曜日に基づいて割引内容を出力します。

  1. 指定された変数を使用

    • product_type
    • day_of_week
  2. 条件分岐を適用

    • product_type が Fruits かつ day_of_week が Monday の場合、
      10% discount on Fruits today!
    • product_type が Vegetables かつ day_of_week が Tuesday の場合、
      15% discount on Vegetables today!
    • product_type が Dairy かつ day_of_week が Wednesday の場合、
      20% discount on Dairy today!
    • product_type が Other の場合、
      No discount available.
    • それ以外の場合、
      No special discounts today.

出力要件

  • 入力値に応じて、プログラムは必ず1行だけ出力すること。
  • 有効な出力例
    • 10% discount on Fruits today!
    • 15% discount on Vegetables today!
    • 20% discount on Dairy today!
    • No discount available.
    • No special discounts today.

ヒント:
if, elif, else 文を使い、両方の変数を同時に比較してください。例:
if product_type == "Fruits" and day_of_week == "Monday":

解答

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

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

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

セクション 1.  15
single

single

AIに質問する

expand

AIに質問する

ChatGPT

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

some-alt