Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 条件式 | 条件文
Python入門
セクション 3.  5
single

single

book条件式

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

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

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

アレックスがこれらの条件式の多様性を実演する様子をご覧ください:

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

仕組みは以下のとおりです:

if

主要な条件文は、条件がTrueかどうかを評価して条件シーケンスを開始します。if文はシーケンスの先頭でのみ一度だけ記述できます。条件がTrueと評価された場合、if文に続くインデントされたコードブロック実行されます

elif

"else if"の略であるelif文は、最初のifまたはそれ以前のelif条件がFalseだった場合に追加の条件を提供します。複数のelif文をif文の後に続けて記述し、各条件ごとに異なる処理を行うことができます。

else

これは、前述のifおよびelif条件で特に扱われないケースをすべて処理するキャッチオールです。else文シーケンスの最後に1つだけif文を記述でき、条件は必要ありません。

Example Applications

Let's start with a simple if / else statement to make a decision based on a single condition. Here, we are trying to determine if a grocery item needs to be restocked based on its current stock level:

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 構造を別のものの中に組み込むことで、複数の基準に基づいて一連の判断を行うことができます。

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

123456789101112131415161718
# Initial conditions product = 'Non-Perishable' stock = 70 daysDelivered = 3 # 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実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

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

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

セクション 3.  5
single

single

AIに質問する

expand

AIに質問する

ChatGPT

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

some-alt