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