投稿

6月, 2018の投稿を表示しています

Python3でint(a/b)とa//bが等しくならない場合

イメージ
こんにちは、ぐぐりら(<a href="https://twitter.com/guglilac">@guglilac</a>)です。 <a href="https://joppot.s3.amazonaws.com/wp-content/uploads/2014/01/python-logo.jpg" imageanchor="1" ><img border="0" src="https://joppot.s3.amazonaws.com/wp-content/uploads/2014/01/python-logo.jpg" width="320" height="151" data-original-width="403" data-original-height="190" /></a> aとbは整数とします。 python3だと、a/bは実数をかえしてきます。 int()でキャストすると小数点以下を切り捨てします。 なので、int(a/b)はaをbで割った商を得られるもんだと思ってました。 一方python3ではかわりにa//bでaをbで割った商が得られるようになっています。 (python2ではa/bでaをbで割った商が得られていました) なので、int(a/b)とa//bは同じ結果が返ってくるものだと思ってました。 ```python In [1]: a=100 In [2]: int(a/3) Out[2]: 33 In [3]: a//3 Out[3]: 33 ``` しかし、aの値が大きいとこの結果が異なってしまいます。 ```python In [1]: a=10**18 In [2]: int(a/3) Out[2]: 333333333333333312 In [3]: a//3 Out[3]: 333333333333333333 ``` まあ、普通にa//bを使うようにすればいいんだけど。

pip installしようとしたらuninstallできませんって言われた

イメージ
## 概要 こんにちは、ぐぐりら(<a href="https://twitter.com/guglilac">@guglilac</a>)です。 <a href="https://joppot.s3.amazonaws.com/wp-content/uploads/2014/01/python-logo.jpg" imageanchor="1" ><img border="0" src="https://joppot.s3.amazonaws.com/wp-content/uploads/2014/01/python-logo.jpg" width="320" height="151" data-original-width="403" data-original-height="190" /></a> kerasを使おうとしたら、keras内部で使用しているtensorflowのバージョンが古くてエラーが出てしまっていたので、tensorflowのバージョンをあげようとした。kerasは最新版だった。 バージョンの上げ方がよくわからず ```bash:terminal pip uninstall tensorflow ``` としたら、tensorflowだけ消えてhtml5libとかいうライブラリが残ってしまった。たぶん依存ライブラリ。 気にせず ```bash:terminal pip3 install tensorfow ``` として最新バージョンのtensorflowを入れようとしたら、エラー。 >Cannot uninstall 'html5lib'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall. ほええ。 ```bash: