はじめに
この実験では、Python で数が偶数か奇数かを判断する方法を学びます。まず、偶数と奇数の基本概念を理解し、整数が 2 で割り切れて余りが 0(偶数)または 1(奇数)になるという定義を確認します。
次に、この実験では、剰余演算子 (%) を使って偶数をチェックする方法を案内します。if 文と剰余演算子を利用して、与えられた数が偶数か奇数かを判断して出力する Python スクリプトを作成します。この実験には、VS Code でスクリプトを作成し、ターミナルから実行するための手順が含まれています。
偶数と奇数について学ぶ
このステップでは、偶数と奇数の基本概念を探ります。これらの概念を理解することは、データ検証、アルゴリズム設計、ゲーム開発など、様々なプログラミングタスクにおいて重要です。
偶数とは何か?
偶数は、2 で割り切れる整数です。つまり、偶数を 2 で割ったときの余りは常に 0 になります。偶数の例としては、2、4、6、8、10 などがあります。
奇数とは何か?
奇数は、2 で割り切れない整数です。奇数を 2 で割ったときの余りは常に 1 になります。奇数の例としては、1、3、5、7、9 などがあります。
数が偶数か奇数かを判断する方法
プログラミングでは、与えられた数が偶数か奇数かを判断する必要があることがよくあります。Python では、剰余演算子 (%) を使ってこれを簡単に行うことができます。剰余演算子は、除算の余りを返します。
たとえば、7 % 2 は 1 と評価されます。なぜなら、7 を 2 で割ったときの余りが 1 だからです。同様に、8 % 2 は 0 と評価されます。なぜなら、8 を 2 で割ったときの余りが 0 だからです。
これを説明するために、簡単な Python スクリプトを作成しましょう。
WebIDE で VS Code エディタを開きます。
~/projectディレクトリにeven_odd.pyという名前の新しいファイルを作成します。~/project/even_odd.pyeven_odd.pyファイルに以下のコードを追加します。number = 10 if number % 2 == 0: print(number, "is an even number") else: print(number, "is an odd number")このコードは、まず変数
numberに値 10 を割り当てます。次に、if文を使って、numberを 2 で割った余りが 0 と等しいかどうかをチェックします。もし等しければ、その数が偶数であることを出力します。そうでなければ、その数が奇数であることを出力します。ターミナルで以下のコマンドを使ってスクリプトを実行します。
python ~/project/even_odd.py以下の出力が表示されるはずです。
10 is an even number次に、
even_odd.pyファイルのnumberの値を 7 に変更します。number = 7 if number % 2 == 0: print(number, "is an even number") else: print(number, "is an odd number")再度スクリプトを実行します。
python ~/project/even_odd.py今度は以下の出力が表示されるはずです。
7 is an odd number
この簡単な例は、Python で剰余演算子を使って数が偶数か奇数かを判断する方法を示しています。次のステップでは、この基礎を元にして、より複雑なプログラムを作成します。
剰余演算子を使用する
前のステップでは、偶数と奇数について学び、剰余演算子 (%) を使って数が偶数か奇数かを判断する方法を学びました。このステップでは、剰余演算子についてさらに深く掘り下げ、その様々な用途を探ります。
剰余演算子の理解
剰余演算子 (%) は、除算の余りを返します。構文は a % b で、a は被除数(割られる数)、b は除数(割る数)です。結果は除算の余りになります。
いくつかの例を示します。
7 % 2は 1 と評価されます。なぜなら、7 を 2 で割ると商が 3 で余りが 1 だからです。10 % 3は 1 と評価されます。なぜなら、10 を 3 で割ると商が 3 で余りが 1 だからです。15 % 5は 0 と評価されます。なぜなら、15 を 5 で割ると商が 3 で余りが 0 だからです。
剰余演算子の用途
剰余演算子は、プログラミングにおいて多くの有用な用途があります。以下にいくつか挙げます。
- 偶数か奇数かの判断:前のステップで見たように、
number % 2 == 0はnumberが偶数であることを示し、number % 2 != 0はnumberが奇数であることを示します。 - 循環処理:剰余演算子は、数の範囲内で循環させるために使用できます。たとえば、0 から 9 の数を循環するカウンターがある場合、カウンターが 10 に達したときに 0 にリセットするために剰余演算子を使用できます。
- 桁の抽出:剰余演算子は、数の最後の桁を抽出するために使用できます。たとえば、
number % 10はnumberの最後の桁を返します。
even_odd.py スクリプトを変更して、ユーザー入力から数を取得し、剰余演算子を使ってそれが偶数か奇数かをチェックしましょう。
VS Code エディタを使って、
~/projectディレクトリのeven_odd.pyファイルを開きます。コードを以下のように変更します。
number_str = input("Enter an integer: ") number = int(number_str) if number % 2 == 0: print(number, "is an even number") else: print(number, "is an odd number")このコードでは、
input()関数を使ってユーザーに整数の入力を促します。input()関数は文字列で返すため、int()関数を使って文字列を整数に変換します。そして、前と同じように剰余演算子を使って数が偶数か奇数かをチェックします。以下のコマンドを使ってスクリプトを実行します。
python ~/project/even_odd.pyスクリプトは、あなたに整数の入力を促します。数を入力して Enter キーを押します。たとえば、
Enter an integer: 15すると、スクリプトはその数が偶数か奇数かを出力します。
15 is an odd number異なる数でスクリプトを実行して、剰余演算子がどのように機能するかを確認してみてください。
この例は、ユーザー入力とともに剰余演算子を使って数が偶数か奇数かを判断する方法を示しています。次のステップでは、ユーザーが有効な整数を入力するようにエラーハンドリングを追加します。
数値が整数であることを確認する
前のステップでは、input() 関数を使ってユーザー入力を取得し、int() 関数を使って入力を整数に変換する方法を学びました。しかし、ユーザーが整数でないもの(例えば、"hello" や "3.14")を入力すると、int() 関数は ValueError 例外を発生させ、プログラムがクラッシュします。このステップでは、ユーザーが有効な整数を入力するようにエラーハンドリングを追加します。
try-except によるエラーハンドリング
Python では、例外を処理するための try-except ブロックが用意されています。try ブロック内のコードが実行されます。例外が発生した場合、except ブロック内のコードが実行されます。
基本的な構文は次の通りです。
try:
## Code that might raise an exception
except ValueError:
## Code to handle the ValueError exception
try ブロック内で ValueError が発生した場合、except ValueError ブロック内のコードが実行されます。
even_odd.py スクリプトを変更して、try-except ブロックを使って潜在的な ValueError 例外を処理しましょう。
VS Code エディタを使って、
~/projectディレクトリのeven_odd.pyファイルを開きます。コードを以下のように変更します。
while True: number_str = input("Enter an integer: ") try: number = int(number_str) break ## Exit the loop if the input is a valid integer except ValueError: print("Invalid input. Please enter an integer.") if number % 2 == 0: print(number, "is an even number") else: print(number, "is an odd number")このコードでは、有効な整数が入力されるまでユーザーに入力を促す
while Trueループを追加しています。ループ内にはtry-exceptブロックがあります。tryブロックでは、ユーザーの入力を整数に変換しようとします。変換が成功した場合、break文によってループを抜けます。ValueErrorが発生した場合(つまり、ユーザーが整数でないものを入力した場合)、exceptブロックでエラーメッセージを表示し、ループを続行します。以下のコマンドを使ってスクリプトを実行します。
python ~/project/even_odd.py"hello" のような整数でない値を入力すると、以下の出力が表示されます。
Enter an integer: hello Invalid input. Please enter an integer. Enter an integer:スクリプトは、有効な整数が入力されるまで入力を促し続けます。12 のような有効な整数を入力すると、スクリプトはその数が偶数か奇数かを出力します。
Enter an integer: 12 12 is an even number
この例は、ユーザー入力を整数に変換する際に潜在的な ValueError 例外を処理するために try-except ブロックを使う方法を示しています。これにより、プログラムがより堅牢で使いやすくなります。
まとめ
この実験では、偶数と奇数の基本的な概念を探りました。偶数は 2 で割り切れて余りが 0 であり、奇数は 2 で割ったときの余りが 1 であることを理解しました。
Python の剰余演算子 (%) を使って、数が偶数か奇数かを判断しました。これを実証するために、簡単な Python スクリプトを作成して実行しました。数を 2 で割った余りが 0 かどうかをチェックすることで、偶数を識別しました。



