Python: удалить деление после запятой

Я сделал программу, которая делит числа, а затем возвращает число. Но дело в том, что когда оно возвращает число, оно имеет десятичное значение:

2.0

Но я хочу, чтобы это дало мне:

2

так все равно я могу это сделать?

Заранее спасибо!

Ответ 1

Вы можете вызвать int() для конечного результата:

>>> int(2.0)
2

Ответ 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

Ответ 3

Вероятно, вы могли бы сделать, например, ниже

# p and q are the numbers to be divided
if p//q==p/q:
    print(p//q)
else:
    print(p/q)

Ответ 4

>>> int(2.0)

Вы получите ответ как 2

Ответ 5

def devision(a, b):
    return a / b if a % b else a // b

Ответ 6

Существует математическая функция 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)