python_ゼロ除算_zero_0で除算


pythonにおいて次のコードを実行したとき

exceptionをraiseするのでしょうか?



a = float( "3.14" )


zero = int( "0" )


answer = a / zero



このコードを実行すると、

最後の行で **`ZeroDivisionError`** が発生し、

例外が `raise` されます。


コードの挙動を詳しく説明します:


1. **`a = float("3.14")`**


   - `"3.14"` は文字列ですが、`float()` 関数で

問題なく浮動小数点数に変換されます。


   - `a` の値は `3.14` になります。


   - **例外は発生しません。**


2. **`zero = int("0")`**


   - `"0"` は文字列ですが、`int()` 関数で

整数に変換されます。

   

   - `zero` の値は `0` になります。

   

   - **例外は発生しません。**



3. **`answer = a / zero`**


   - `a` は `3.14`、`zero` は `0` です。

   

   - この行で浮動小数点数を 0 で割ろうとしますが、

Python ではゼロ除算は例外を発生させます。


   - **`ZeroDivisionError: 

float division by zero`** が発生します。


### 修正するには


ゼロ除算を避けるために、

除算前に `zero` が 0 でないことを確認する条件を

追加するのが一般的です。


```python


a = float("3.14")

zero = int("0")


if zero != 0:

    answer = a / zero

else:

    print("Division by zero is not allowed.")

```


コメント