teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

Python2.7だったので

2017/12/12 05:47

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,7 +1,46 @@
1
- ここらへん挙動は独特ですよね
1
+ 新しくint値を生成してやればいいです。
2
2
  ```Python
3
+ >>> num = int(100. / 3)
4
+ >>> print num, type(num)
5
+ 33 <type 'int'>
6
+ ```
7
+
8
+ ---
9
+ Python2.7とPython3.xでは除算周りの挙動が異なるので注意。
10
+
11
+ **Python2.7**
12
+ ```Python
3
13
  >>> 100 / 3
14
+ 33
15
+ >>> 100 // 3
16
+ 33
17
+ >>> 100. / 3
4
18
  33.333333333333336
19
+ >>> 100. // 3
20
+ 33.0
21
+ >>>
22
+ >>> math.floor(33.333)
23
+ 33.0
24
+ >>> math.ceil(33.333)
25
+ 34.0
26
+ ```
27
+
28
+ **Python3.x**
29
+ ```Python
30
+ >>> 100 / 3
31
+ 33.333333333333336
5
32
  >>> 100 // 3
6
33
  33
34
+ >>> 100. / 3
35
+ 33.333333333333336
36
+ >>> 100. // 3
37
+ 33.0
38
+ >>>
39
+ >>> math.floor(33.333)
40
+ 33
41
+ >>> math.ceil(33.333)
42
+ 34
7
- ```
43
+ ```
44
+
45
+ 2.7のサポートは2020年に切れるので、3.xに早い段階で乗り換えることをお勧めします。
46
+ 多くのサードパーティーモジュールも3.xに対応しています、2.7を使う理由は現状ないです。