【Python】ZeroDivisionErrorを回避したい【0除算】

問題

変数x , yについて、x/yを実装したい。y=0になる可能性があるが、ZeroDivisionErrorで処理を落としたくない。

解決法

単純にZeroDivisionErrorの例外を捕捉する、以下のような実装が考えられます。

try:
    z = x / y
except ZeroDivisionError:
    z = 0
Error python : [ZeroDivisionError: division by zero]
I faced an error when I run my program using python: The error is like this: ZeroDivisionError: division by zero The visualization my program similar like thi...

ただし、y=0のときにz=0とすべきかどうかは問題や状況によります。

例えばNumpyだと、0割りすると状況に応じてnp.infnp.nanが返ってきます。

まずは0除算が発生しないような設計をしたいところですが、それが難しい場合は、問題に応じて柔軟に対処していきましょう[1]厳密な定義が必要な場合は、国際標準(IEEE 754)などを参考にすると良いかと思います。

【python】0除算エラー回避の仕方|teratail
ψ1,ψ2にK1,K2を代入した際に(エラー文)divide by zero encountered in true_divideがでてしまうのでzの中にあるz=0を除いてzを代入し,K1,K2およびψ1,ψ2を計算したいです.K1,K2(0

注釈   [ + ]

1. 厳密な定義が必要な場合は、国際標準(IEEE 754)などを参考にすると良いかと思います。

コメント