2011-05-21 44 views
-2

我知道蟒蛇地板顯示該值:你知道的方法使用python

floor(0.2) #---> 0 

,但我想:

1 2 3 4 5 6 7 8 9 10 #---> 1 
11 12 13 ... 20 # --->2 
21 22 23 ... 30 #--->3 

有一個方法來獲得這個值,

謝謝

回答

3
>>> (21 + 9) // 10 
3 
>>> (30 + 9) // 10 
3 
+2

看起來好像沒什麼問題。 >>>(30 + 9)// 10' '3' '>>>(39 + 9)// 10' '4' – 2011-05-21 03:42:40

1

最簡單的解決方案重刑(無需導入math模塊):

(X-1)// 10 + 1

,這將確保你得到一個整數(感謝//)。但是,如果你堅持要用floor(),那麼在這裏你去:

import math 
math.floor ((x - 1)/10.) + 1 

例如:

  • x = 1:地板((1 - 1)/ 10)+ 1 =地板(0)+ 1 = 1
  • x = 9:地板((9 - 1)/ 10)+ 1 =地板(8/10)+ 1 = 1
  • x = 10:地板((10 - 1)/ 10)+ 1 =地板(9/10)+ 1 = 1
  • x = 11:地板((11 - 1)/ 10)+ 1 =地板(10/10)+ 1 = 2
  • 等等...

編輯:

我已經更新了我的答案和擺脫分裂進口(這簡化了溶液),繼martineau意見。謝謝!

EDIT2:

更新我的(x-1) // 10 + 1)的解決方案,它不需要額外的模塊,看起來像更快的一個答案。

+1

更簡單的就是使用'math.floor((x - 1)/10.)+ 1',不用擔心「進口部門」。更好地使用@ Ignacio的答案中所示的更快的整數除法,並避免調用「數學」函數。 – martineau 2011-05-21 08:37:48

+0

@martineau謝謝!更新了我的答案。還有+1 – Tadeck 2011-05-21 20:37:59

相關問題