if-else文で2つの選択肢を作ろう
学習の目標
本章では、以下の内容を学習します。
- if-else文の基本構文と使い方を理解する
- 条件が満たされない場合の処理を定義する方法を習得する
- 2つの選択肢を持つプログラムの作成方法を学ぶ
- 偶数・奇数判定プログラムの作成を通じて実践的な使い方を理解する
- より完全な条件分岐プログラムの設計方法を習得する
条件が満たされない場合の処理を追加しよう
前回のif文では、条件が満たされた場合の処理だけを定義していました。 しかし、実際のプログラムでは「条件が満たされなかった場合はこうする」という処理も必要になることがよくあります。
例えば、パスワードが正しい場合は「ログイン成功」、間違っている場合は「ログイン失敗」というメッセージを表示したいとします。 このような場面では、if-else文を使うことで、条件による2つの選択肢を簡潔に表現できます。
if-else文を使うことで、「もし○○なら△△を実行、そうでなければ□□を実行」という処理を明確に記述できるようになります。 これにより、プログラムの動作がより予測しやすくなり、ユーザーにとってもわかりやすいアプリケーションを作成できます。
if-else文の基本構文
if-else文の基本的な構文は以下のようになります。
if 条件式:
条件が満たされた場合の処理
else:
条件が満たされなかった場合の処理
if文の後にelse:
を追加することで、条件が満たされなかった場合の処理を定義できます。 else
の後にも必ずコロン(:
)を付け、実行したい処理をインデントで字下げします。
重要なポイントは、if文とelse文のどちらか一方の処理が必ず実行されることです。 条件がTrueならif文の中の処理が、FalseならelseThe中の処理が実行されます。
最初のif-else文を書いてみよう
それでは、実際にif-else文を使ったプログラムを作成してみましょう。 VS Codeでif_else_basic.py
という新しいファイルを作成し、以下のコードを入力してください。
# 年齢を変数に設定
age = 15
if age >= 18:
print("あなたは成人です")
else:
print("あなたは未成年です")
print("年齢確認が完了しました")
このプログラムを実行してみましょう。
python if_else_basic.py
実行結果は以下のようになります。
あなたは未成年です
年齢確認が完了しました
プログラムの動作を詳しく見てみましょう。 ageが15なので、age >= 18
という条件はFalseになります。 そのため、if文の処理はスキップされ、else文の処理が実行されました。
今度は年齢を変更して、条件が満たされる場合も確認してみましょう。
# 年齢を変数に設定
age = 20 # 値を20に変更
if age >= 18:
print("あなたは成人です")
else:
print("あなたは未成年です")
print("年齢確認が完了しました")
実行結果は以下のようになります。
あなたは成人です
年齢確認が完了しました
このように、年齢の値によって表示されるメッセージが自動的に切り替わります。 if-else文を使うことで、すべての場合に対応したプログラムを作成できるようになりました。
パスワード認証システムを作ってみよう
実用的な例として、パスワード認証システムを作成してみましょう。 VS Codeでpassword_check.py
という新しいファイルを作成し、以下のコードを入力してください。
# 正しいパスワードを設定
correct_password = "secret123"
# ユーザーからパスワードを入力してもらう
user_password = input("パスワードを入力してください: ")
if user_password == correct_password:
print("ログインに成功しました!")
print("システムにアクセスできます")
else:
print("パスワードが間違っています")
print("もう一度確認してください")
このプログラムを実行してみましょう。 正しいパスワード「secret123」を入力した場合の実行結果は以下のようになります。
パスワードを入力してください: secret123
ログインに成功しました!
システムにアクセスできます
間違ったパスワードを入力した場合の実行結果は以下のようになります。
パスワードを入力してください: wrong
パスワードが間違っています
もう一度確認してください
このプログラムでは、ユーザーが入力したパスワードと正しいパスワードを比較しています。 一致する場合は成功メッセージを、一致しない場合は失敗メッセージを表示しています。
if-else文を使うことで、どのような入力に対しても適切なメッセージを表示できるようになりました。
偶数・奇数判定プログラムを作ろう
数学的な判定を行うプログラムも作成してみましょう。 今度は、入力された数値が偶数か奇数かを判定するプログラムです。
VS Codeでeven_odd.py
という新しいファイルを作成し、以下のコードを入力してください。
# ユーザーから数値を入力してもらう
number_input = input("数値を入力してください: ")
number = int(number_input)
if number % 2 == 0:
print(f"{number}は偶数です")
else:
print(f"{number}は奇数です")
print("判定が完了しました")
このプログラムを実行してみましょう。 例えば「8」を入力した場合の実行結果は以下のようになります。
数値を入力してください: 8
8は偶数です
判定が完了しました
「7」を入力した場合の実行結果は以下のようになります。
数値を入力してください: 7
7は奇数です
判定が完了しました
このプログラムでは、剰余演算子(%
)を使用しています。 number % 2
は、numberを2で割った余りを求めます。 偶数は2で割り切れるので余りが0になり、奇数は余りが1になります。
この性質を利用して、number % 2 == 0
という条件で偶数かどうかを判定しています。 条件が満たされれば偶数、満たされなければ奇数というわけです。
より複雑な条件判定を作ってみよう
今度は、テストの合格・不合格を判定するプログラムを作成してみましょう。 VS Codeでtest_result.py
という新しいファイルを作成し、以下のコードを入力してください。
# ユーザーからテストの点数を入力してもらう
score_input = input("テストの点数を入力してください: ")
score = int(score_input)
if score >= 60:
print(f"おめでとうございます!{score}点で合格です")
print("よく頑張りました")
else:
print(f"残念ながら{score}点で不合格です")
print("次回もチャレンジしてください")
print("成績判定が完了しました")
このプログラムを実行してみましょう。 例えば「75」を入力した場合の実行結果は以下のようになります。
テストの点数を入力してください: 75
おめでとうございます!75点で合格です
よく頑張りました
成績判定が完了しました
「45」を入力した場合の実行結果は以下のようになります。
テストの点数を入力してください: 45
残念ながら45点で不合格です
次回もチャレンジしてください
成績判定が完了しました
このプログラムでは、60点以上を合格、60点未満を不合格として判定しています。 それぞれの場合に応じて、適切なメッセージと励ましの言葉を表示しています。
if-else文を使うことで、どの点数が入力されても必ず何らかの判定結果が表示されるようになりました。
if文とif-else文の使い分け
ここで、if文とif-else文をどのように使い分けるかを考えてみましょう。
if文を使う場合は、特定の条件が満たされた時だけ何かを実行したい場合です。 例えば「エラーが発生した時だけ警告メッセージを表示する」といった場面で使用します。
if-else文を使う場合は、必ず何らかの処理を実行したい場合です。 例えば「成人か未成年かを必ず判定して表示する」といった場面で使用します。
どちらを使うかは、プログラムの目的と要件によって決まります。 「条件に関係なく、必ず何らかの結果を表示したい」場合は、if-else文が適しています。
まとめ
本章では、Pythonのif-else文について学習しました。 以下のポイントを理解できたことと思います。
if-else文を使うことで、条件による2つの選択肢を明確に定義できるようになりました。 条件が満たされる場合と満たされない場合の両方に対して、適切な処理を記述できます。
if-else文では、if文またはelse文のどちらか一方の処理が必ず実行されます。 これにより、すべての場合に対応した完全なプログラムを作成できるようになりました。
パスワード認証や偶数・奇数判定など、実用的なプログラムを通じて条件分岐の活用方法を学びました。 剰余演算子(%)のような新しい演算子も自然に習得できました。
if-else文は、条件分岐の基本的な形です。 この概念をしっかりと理解しておくことで、より複雑な条件分岐(if-elif-else文)の学習にもスムーズに進むことができます。
Starterプランでより詳しく学習
この先のコンテンツを読むにはStarterプラン以上が必要です。より詳細な解説、実践的なサンプルコード、演習問題にアクセスして学習を深めましょう。