問題
変数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 My prog...
ただし、y=0のときにz=0とすべきかどうかは問題や状況によります。
例えばNumpyだと、0割りすると状況に応じてnp.inf
やnp.nan
が返ってきます。
まずは0除算が発生しないような設計をしたいところですが、それが難しい場合は、問題に応じて柔軟に対処していきましょう[1]厳密な定義が必要な場合は、国際標準(IEEE 754)などを参考にすると良いかと思います。。
【python】0除算エラー回避の仕方
ψ1,ψ2にK1,K2を代入した際に(エラー文)divide by zero encountered in true_divide がでてしまうのでzの中にあるz=0を除いてzを代入し,K1,K2お
注釈
↩1 | 厳密な定義が必要な場合は、国際標準(IEEE 754)などを参考にすると良いかと思います。 |
---|
コメント