python - Tomando el piso de un flotador
subplot python title (5)
El segundo enfoque es el camino a seguir, pero hay una forma de acortarlo.
from math import floor
floor(3.1415)
He encontrado dos maneras de tomar pisos en Python:
3.1415 // 1
y
import math
math.floor(3.1415)
El problema con el primer enfoque es que devuelve un flotante (a saber, 3.0
). El segundo enfoque se siente torpe y demasiado largo.
¿Hay soluciones alternativas para tomar pisos en Python?
Equípelo en int
si no quieres un float
int(3.1415 // 1)
Puedes llamar a int () en el float para lanzar al int inferior (no obviamente el piso pero más elegante)
int(3.745) #3
Alternativamente, llama a int en el resultado del piso.
from math import floor
f1 = 3.1415
f2 = 3.7415
print floor(f1) # 3.0
print int(floor(f1)) # 3
print int(f1) # 3
print int(f2) # 3 (some people may expect 4 here)
print int(floor(f2)) # 3
Siempre que sus números sean positivos, simplemente puede convertir a un int
para redondear al siguiente entero:
>>> int(3.1415)
3
Para enteros negativos, esto redondeará, sin embargo.
Tenga en cuenta que tomar la palabra y lanzar al int no son lo mismo con números negativos. Si realmente desea el piso como un entero, debe convertirlo a int después de llamar a math.floor ().
>>> int(-0.5)
0
>>> math.floor(-0.5)
-1.0
>>> int(math.floor(-0.5))
-1