Этот ответ относится не к заданному вами вопросу, а к неявному вопросу, который я вижу в опубликованном вами коде, т. Е. «Как проверить, является ли что-то целым?»
Первый ответ, который выКак правило, я получу ответ на этот вопрос "Не надо!"И это правда, что в Python проверка типов обычно не правильная вещь.
Для этих редких исключений, хотя вместо поиска десятичной точки в строковом представлении числа нужно сделать следующее:используйте функцию isinstance :
>>> isinstance(5,int)
True
>>> isinstance(5.0,int)
False
Конечно, это относится к переменной, а не к значению.Если бы я хотел определить, является ли значение целым числом, я бы сделал это:
>>> x=5.0
>>> round(x) == x
True
Но, как все остальные подробно рассмотрели, существуют проблемы с плавающей запятой, которые необходиморассматривается в большинстве неигровых примеров такого рода вещей.