Ответ 1
Вы можете вызвать int()
для конечного результата:
>>> int(2.0)
2
Я сделал программу, которая делит числа, а затем возвращает число. Но дело в том, что когда оно возвращает число, оно имеет десятичное значение:
2.0
Но я хочу, чтобы это дало мне:
2
так все равно я могу это сделать?
Заранее спасибо!
Вы можете вызвать int()
для конечного результата:
>>> int(2.0)
2
Когда число как десятичное число, это, как правило, float
в Python.
Если вы хотите удалить десятичную и сохранить целое число ( int
). Вы можете вызвать метод int()
на нем так...
>>> int(2.0)
2
Тем не менее, int
округляется так...
>>> int(2.9)
2
Если вы хотите округлить до ближайшего целого числа, вы можете использовать round
:
>>> round(2.9)
3.0
>>> round(2.4)
2.0
А затем вызовите int()
:
>>> int(round(2.9))
3
>>> int(round(2.4))
2
Вероятно, вы могли бы сделать, например, ниже
# p and q are the numbers to be divided
if p//q==p/q:
print(p//q)
else:
print(p/q)
>>> int(2.0)
Вы получите ответ как 2
def devision(a, b):
return a / b if a % b else a // b
Существует математическая функция modf()
, которая также разбивает это.
import math
print("math.modf(3.14159) : ", math.modf(3.14159))
выведет кортеж:
math.modf(3.14159) : (0.14159, 3.0)
Это полезно, если вы хотите сохранить как целую часть, так и десятичную для справки, например:
decimal, whole = math.modf(3.14159)