Найти в Дзене

Как проверить, является ли число целым в Python

Оглавление

В Python существует несколько способов проверить, является ли число целым:

1. Использование функции isinstance():

  • Проверяет тип данных: Этот метод позволяет определить, принадлежит ли объект к определенному типу данных.
  • Синтаксис:

isinstance(число, int)

Пример:

num = 42

if isinstance(num, int):

print("Число целое")

else:

print("Число не целое")

2. Использование метода is_integer() для чисел с плавающей запятой:

  • Проверяет, является ли дробная часть нулевой: Этот метод применим только к числам с плавающей запятой.
  • Синтаксис:

число.is_integer()

Пример:

num = 3.0

if num.is_integer():

print("Число целое")

else:

print("Число не целое")

3. Сравнение числа с его округленным значением:

  • Проверяет, совпадает ли число с его округленным значением:
  • Синтаксис:

if число == int(число):

print("Число целое")

Пример:

num = 2.5

if num == int(num):

print("Число целое")

else:

print("Число не целое")

Выбор метода зависит от конкретной ситуации:

  • isinstance() подходит для общего случая, когда нужно проверить, является ли объект целым числом.
  • is_integer() полезен, когда вы уже знаете, что имеете дело с числом с плавающей запятой.
  • Сравнение с округленным значением — простой и понятный способ, но может быть менее эффективен для больших чисел.

Важно отметить:

  • Целые числа в Python: Представляются типом данных int.
  • Числа с плавающей запятой: Представляются типом данных float.
  • Округление: Функция int() отбрасывает дробную часть числа.

Пример с проверкой ввода пользователя:

num_str = input("Введите число: ")

try:

num = float(num_str)

if num.is_integer():

print("Вы ввели целое число.")

else:

print("Вы ввели нецелое число.")

except ValueError:

print("Некорректный ввод.")

В этом примере мы сначала пытаемся преобразовать введенную строку в число с плавающей запятой. Если это удается, то проверяем, является ли оно целым. Блок try-except используется для обработки возможной ошибки преобразования.