Я хочу, чтобы мой код не принимал почти целое число для целого числа. Например, 58106601358565889 имеет в качестве корня квадратного 241,053,109.00000001659385359763188, но когда я использовал следующее логическое испытание, 58106601358565889 обмануть меня, думая, что это идеальный квадрат:Отличие больших целых чисел от близких целых чисел в python
a = 58106601358565889
b = math.sqrt(a)
print(b == int(b))
точность не обязательно проблема, потому что если я перепроверить, я получаю правильный (False) вывод:
print(a == b**2)
что бы быть лучше, чтобы проверить истинный против почти целого? Math.sqrt похоронен в другом определении в моем коде, и я хотел бы избежать необходимости вставлять квадрат квадратного квадрата, если это возможно. Прошу прощения, если это не очень хороший вопрос; Я новичок в python.
Должно ли оно возвращать 'true' то, что вы хотите? – styvane
Он должен возвращать False, если мое понимание верное – Backtrack
Первая печать (b == int (b)) Я хочу быть ложной. – Jeptha