Python - 決定構造

こんにちは、未来のPythonの魔法使いたち!今日、私たちはPythonの決定構造の魔法の世界への興味深い旅に出かけます。あなたの友好的な近所のコンピュータサイエンスの先生として、私はあなたをこの冒険をステップバイステップに导いていきます。だから、あなたの仮想の杖(キーボード)を取り出して、一緒に飛び込みましょう!

Python - Decision Making

Pythonの決定構造文の種類

Pythonでは、コード内で決定を取るためのいくつかの方法があります。これらは、あなたのプログラミングの魔法の本にある異なる呪文のように考えてください。それぞれに独自の力と使用例があります。主要な種類を見てみましょう:

説明
if 条件が真である場合にコードブロックを実行
if...else 条件が真である場合に一方のブロックを実行、それ以外の場合はもう一方を実行
if...elif...else 複数の条件をチェックし、対応するブロックを実行
ネストされたif 他のif文の内部にif文を使用

では、これらの魔法の呪文を詳しく見ていきましょう!

単一の文のスイート

複雑なものに飛び込む前に、簡単なものから始めましょう。Pythonでは、if条件の後に単一行の文を使用することができます。これは、たくさんの準備を必要としない簡単な呪文のようです。

x = 10
if x > 5: print("xは5より大きい")

この例では、xが実際に5より大きい場合(それはそうです)、Pythonはメッセージを表示します。短く、甘く、要点に終わります!

しかし、これは迅速な確認に便利ですが、読みやすさについては必ずしも最適ではなく、特にあなたの呪文(つまり、プログラム)がより複雑になるときには注意してください。

if...else文

次に、if...else文を使って決定構造のスキルをレベルアップしましょう。これは、コードに2つの道を選ぶことができるようにします。

age = 20

if age >= 18:
print("あなたは投票に適齢です!")
else:
print("残念ですが、あなたはまだ若すぎて投票にはできません。")

これを分解して見てみましょう:

  1. 変数ageを20に設定して開始します。
  2. if文はageが18以上かどうかをチェックします。
  3. それが(この場合、それが)真である場合、最初のprint文が実行されます。
  4. それが偽である場合、elseの下のコードが代わりに実行されます。

これは、あるケースではコードが一つのことを行い、他のすべてのケースでは別のことを行いたい場合に非常に便利です。

ネストされたif文

時に、人生(そしてコード)はただ一つの決定にとどまりません。時に、他の決定の結果に基づいて決定を取る必要があります。そんなときには、ネストされたif文が便利に使えます。

temperature = 25
humidity = 60

if temperature > 20:
if humidity > 50:
print("暖かくて湿気があります。")
else:
print("暖かいけれども湿気がありません。")
else:
print("今日はあまり暖かくありません。")

この天候予報の呪文では:

  1. まず、気温が20以上かどうかをチェックします。
  2. それがある場合、次に湿度をチェックします。
  3. 湿度に応じて、異なるメッセージを表示します。
  4. 気温が20以上でない場合、湿度のチェックを全く行いません。

これは、コードに決定木を持つようになります。これにより、より複雑なロジックとより具体的な結果が可能になります。

魔法的なelif

次に、私たちの決定構造ツールキットに強力な追加を行います:elif文。短く「else if」と書くことができ、これにより、複数の条件を順番にチェックすることができます。

grade = 85

if grade >= 90:
print("A - 素晴らしい!")
elif grade >= 80:
print("B - とても良い!")
elif grade >= 70:
print("C - 良い")
elif grade >= 60:
print("D - 満足")
else:
print("F - 改善が必要")

この評価の呪文の仕組みは以下の通りです:

  1. まず、成績を85に設定します。
  2. Pythonは各条件を順番にチェックします。
  3. 最初の真の条件(この場合、grade >= 80)で停止します。
  4. いずれの条件も真でない場合、elseブロックを実行します。

これは、複数の可能な結果があり、それらを特定の順序でチェックしたい場合に非常に便利です。

インデントについての一言

締めくくる前に、Pythonにおいて非常に重要なことについて話しましょう:インデント。多くのプログラミング言語では、カレッジブラケット{}を使用してコードブロックを定義しますが、Pythonはインデントを使用します。

if True:
print("これはインデントされています")
print("これもインデントされています")
print("これはインデントされていません")

インデントされた行はifブロックの一部です。非インデント行はその一部ではありません。これにより、Pythonのコードはクリーンで読みやすくなりますが、スペースの注意が必要です!

結論

それで、完成です、若いPythonistaたち!あなたはPythonでの決定構造の基本を学びました。簡単なif文から複雑なネストされた条件まで、あなたのコードは異なる状況に動的に反応する力を持っています。

覚えておいてください、よい魔法使いと同じく、練習は成功の道です。これらの異なるタイプの決定をあなたのコードに組み合わせてみてください。テキストベースの冒険ゲーム、簡単なクイズプログラム、またはユーザーの入力に基づいて異なる応答を行う基本的なAIを作成してみてください。

ハッピーコーディング、そしてあなたの決定が常に賢く(そしてバグフリーで)!

Credits: Image by storyset