<分区>
我正在尝试检查一个数字是否是一个完美的正方形。但是,我正在处理非常大的数字,所以 python 出于某种原因认为它是无穷大的。它在代码返回“Inf”之前达到 1.1 X 10^154。无论如何要解决这个问题?这是代码,lst 变量只是保存了一堆非常非常非常非常大的数字
import math
from decimal import Decimal
def main():
for i in lst:
root = math.sqrt(Decimal(i))
print(root)
if int(root + 0.5) ** 2 == i:
print(str(i) + " True")