1. ホーム
  2. python

[解決済み] なぜPythonは平方根のために「間違った」答えを与えるのですか?Python 2の整数除算とは何ですか?重複

2022-08-02 18:20:57

質問

x = 16

sqrt = x**(.5)  #returns 4
sqrt = x**(1/2) #returns 1

私は、私ができることを知っている import math を使用し sqrt , しかし、私は上記の答えを探しています。Python2での整数除算とは?この動作はPython 3で修正されています。

どのように解決するのですか?

Python2において。 sqrt=x**(1/2) は整数の除算を行います。 1/2 == 0 .

だから x (1/2) はxに等しく (0) であり、これは1である。

間違っているのではなく、違う問題に対する正解です。

mathモジュールのインポートなしに平方根を計算したい場合は x**(1.0/2) または x**(1/2.) . 整数のうち1つは浮動小数点数である必要があります。

注意: Python 3では、このようなことはありません。 1/20.5 そして 1//2 は整数の除算になります。