Проверить, является ли число целым
Делаю калькулятор на Python. Сделал так, чтобы можно было писать числа в виде десятичных дробей, но ответ тоже получается в виде десятичной дроби, даже если число целое (например, 5.5 + 1.5 у меня получается не 7, а 7.0). Как сделать так, чтобы число округлялось, но только в случаях, где оно должно быть округлённым?
Ответы (2 шт):
Автор решения: Airat Galiullin
→ Ссылка
Для того чтобы в Python выводить числа без десятичной точки, если они целые (например, 7 вместо 7.0), можно использовать простую проверку с помощью метода .is_integer().
Вот пример реализации:
def format_result(result):
if result.is_integer():
return int(result)
else:
return result
# Пример использования
a = 5.5
b = 1.5
result = a + b
print(format_result(result)) # Выведет: 7 (а не 7.0)
Как это работает:
- Метод .is_integer() проверяет, является ли число целым (без дробной части).
- Если число целое, то оно приводится к типу int, иначе возвращается с десятичной частью.
Автор решения: Stanislav Volodarskiy
→ Ссылка
Используйте формат g: 'f{x:g}'. Питон будет печатать значение как можно "проще":
$ python Python 3.11.2 (main, Nov 30 2024, 21:22:50) [GCC 12.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. @>>> print(f'{5.4 + 1.4:g}') 6.8 @>>> print(f'{5.5 + 1.5:g}') 7