ゼロ除算の処理
このステップでは、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
これらのアプローチはどちらも、ゼロ除算エラーを適切に処理し、プログラムのクラッシュを防ぐことができます。あなたのニーズとコーディングスタイルに最適なアプローチを選んでください。