はじめに
この実験では、Python を使用してある数が別の数で割り切れるかどうかをチェックする方法を学びます。この実験では、割り切れるという概念を理解し、剰余演算子 (%) を適用して、ある数が別の数で割り切れて余りがないかどうかを判断することに焦点を当てています。
あなたは、divisibility.py という名前の Python スクリプトを作成します。このスクリプトは、剰余演算子を使用して 2、3、および 5 で割り切れるかどうかをチェックする方法を示します。このスクリプトを実行することで、数値 10 がこれらの各数で割り切れるかどうかを示す出力を確認できます。この実践的な経験を通じて、Python での割り切れる概念と剰余演算子の理解が深まります。
整除性について学ぶ
このステップでは、数学における割り切れる概念と、それがプログラミングとどのように関係するかを学びます。割り切れるという概念は、ある数が別の数で割り切れて余りがないかどうかを理解するのに役立つ基本的な概念です。この概念は、データ検証やアルゴリズム最適化など、様々なプログラミングタスクにおいて重要です。
簡単な例から始めましょう。数値 10 を考えてみます。10 は 2 で割り切れます。なぜなら、10 を 2 で割ると 5 になり、余りがないからです。同様に、10 は 5 で割り切れます。なぜなら、10 を 5 で割ると 2 になり、余りがないからです。しかし、10 は 3 で割り切れません。なぜなら、10 を 3 で割ると 3 余り 1 になるからです。
Python では、剰余演算子 (%) を使用して割り切れるかどうかをチェックできます。剰余演算子は、除算の余りを返します。余りが 0 の場合、その数は割り切れることを意味します。
これを実証するために、VS Code エディタを使用して ~/project ディレクトリに divisibility.py という名前の Python スクリプトを作成しましょう。
## Create a script named divisibility.py
## Open VS Code editor and create a new file named divisibility.py in ~/project directory
## Add the following content to the file
number = 10
## Check if the number is divisible by 2
if number % 2 == 0:
print(f"{number} is divisible by 2")
else:
print(f"{number} is not divisible by 2")
## Check if the number is divisible by 3
if number % 3 == 0:
print(f"{number} is divisible by 3")
else:
print(f"{number} is not divisible by 3")
## Check if the number is divisible by 5
if number % 5 == 0:
print(f"{number} is divisible by 5")
else:
print(f"{number} is not divisible by 5")
では、Python インタープリタを使用してこのスクリプトを実行しましょう。ターミナルを開き、~/project ディレクトリに移動します。
cd ~/project
次に、スクリプトを実行します。
python divisibility.py
以下の出力が表示されるはずです。
10 is divisible by 2
10 is not divisible by 3
10 is divisible by 5
この出力は、先ほど説明したように、10 が 2 と 5 で割り切れるが、3 では割り切れないことを確認しています。
割り切れる概念を理解し、剰余演算子を使用することは、Python プログラマにとって不可欠なスキルです。次のステップでは、これらの概念のより高度な応用を探っていきます。
剰余演算子を使用する
このステップでは、剰余演算子 (%) についてさらに深く掘り下げ、Python での様々な応用を探っていきます。前のステップで学んだように、剰余演算子は除算の余りを返します。この一見単純な演算は非常に汎用性が高く、幅広いプログラミング問題を解くために使用できます。
剰余演算子の一般的な使用例の 1 つは、ある数が偶数か奇数かを判断することです。偶数は 2 で割り切れ、奇数は割り切れません。これを剰余演算子を使って簡単にチェックできます。
## Create a script named even_odd.py
## Open VS Code editor and create a new file named even_odd.py in ~/project directory
## Add the following content to the file
number = 17
if number % 2 == 0:
print(f"{number} is even")
else:
print(f"{number} is odd")
このコードを ~/project ディレクトリに even_odd.py として保存します。では、スクリプトを実行しましょう。
cd ~/project
python even_odd.py
以下の出力が表示されるはずです。
17 is odd
剰余演算子のもう 1 つの有用な応用例は、数値のシーケンスを循環することです。たとえば、一連のアイテムに異なる色を割り当てたいが、色の数が限られているとしましょう。剰余演算子を使って色を循環させることができます。
## Create a script named colors.py
## Open VS Code editor and create a new file named colors.py in ~/project directory
## Add the following content to the file
items = ["apple", "banana", "cherry", "date", "elderberry"]
colors = ["red", "yellow", "purple"]
for i, item in enumerate(items):
color_index = i % len(colors)
color = colors[color_index]
print(f"{item} is {color}")
このコードを ~/project ディレクトリに colors.py として保存します。では、スクリプトを実行しましょう。
cd ~/project
python colors.py
以下の出力が表示されるはずです。
apple is red
banana is yellow
cherry is purple
date is red
elderberry is yellow
この例では、剰余演算子によって color_index が colors リストの範囲内に収まり、色を繰り返し循環させることができます。
剰余演算子は、入力データの検証、パターンの生成、暗号化アルゴリズムの実装などのタスクにも役立ちます。Python の学習を続けるうちに、この強力な演算子を使うたくさんの創造的な方法を見つけるでしょう。
ゼロ除算の処理
このステップでは、Python でゼロ除算エラーを処理する方法を学びます。ゼロ除算は、数をゼロで割ろうとしたときに発生する一般的なエラーです。数学では、ゼロ除算は定義されておらず、プログラミングでは通常、プログラムをクラッシュさせるエラーにつながります。
Python でゼロ除算を試みたときに何が起こるか見てみましょう。
## Create a script named division_error.py
## Open VS Code editor and create a new file named division_error.py in ~/project directory
## Add the following content to the file
numerator = 10
denominator = 0
result = numerator / denominator
print(result)
このコードを ~/project ディレクトリに division_error.py として保存します。では、スクリプトを実行しましょう。
cd ~/project
python division_error.py
次のようなエラーメッセージが表示されるはずです。
Traceback (most recent call last):
File "/home/labex/project/division_error.py", line 4, in <module>
result = numerator / denominator
ZeroDivisionError: division by zero
ZeroDivisionError は、ゼロ除算を試みたことを示しています。このエラーがプログラムをクラッシュさせるのを防ぐために、エラー処理技術を使用することができます。一般的なアプローチの 1 つは、try-except ブロックを使用することです。
## Create a script named safe_division.py
## Open VS Code editor and create a new file named safe_division.py in ~/project directory
## Add the following content to the file
numerator = 10
denominator = 0
try:
result = numerator / denominator
print(result)
except ZeroDivisionError:
print("Error: Cannot divide by zero")
このコードを ~/project ディレクトリに safe_division.py として保存します。では、スクリプトを実行しましょう。
cd ~/project
python safe_division.py
次の出力が表示されるはずです。
Error: Cannot divide by zero
この例では、try ブロックが除算を試みます。ZeroDivisionError が発生した場合、except ブロックが実行され、プログラムをクラッシュさせる代わりにエラーメッセージが表示されます。
もう 1 つのアプローチは、除算を行う前に分母がゼロかどうかをチェックすることです。
## Create a script named check_division.py
## Open VS Code editor and create a new file named check_division.py in ~/project directory
## Add the following content to the file
numerator = 10
denominator = 0
if denominator == 0:
print("Error: Cannot divide by zero")
else:
result = numerator / denominator
print(result)
このコードを ~/project ディレクトリに check_division.py として保存します。では、スクリプトを実行しましょう。
cd ~/project
python check_division.py
次の出力が表示されるはずです。
Error: Cannot divide by zero
これらのアプローチはどちらも、ゼロ除算エラーを適切に処理し、プログラムのクラッシュを防ぐことができます。あなたのニーズとコーディングスタイルに最適なアプローチを選んでください。
まとめ
この実験では、数学における整除性の概念と、それが Python プログラミングでどのように応用されるかを学びました。2 つの数の除算の余りがゼロであるかどうかをチェックすることで、ある数が別の数で割り切れるかどうかを判断する方法を探りました。
Python の剰余演算子 (%) を使って除算の余りを求め、条件文を実装して、ある数が 2、3、および 5 で割り切れるかどうかを表示しました。この概念を実証するために、divisibility.py という名前の Python スクリプトを作成して実行しました。



