gpt4 book ai didi

python - 检查 float 是否等于python中的整数值

转载 作者:IT老高 更新时间:2023-10-28 20:36:21 25 4
gpt4 key购买 nike

在 Python 3 中,我正在检查给定值是否为三角形,也就是说,对于某些正整数 n<,它可以表示为 n * (n + 1)/2/

我可以写吗:

import math

def is_triangular1(x):
num = (1 / 2) * (math.sqrt(8 * x + 1) - 1)
return int(num) == num

或者我需要在公差范围内进行检查吗?

epsilon = 0.000000000001
def is_triangular2(x):
num = (1 / 2) * (math.sqrt(8 * x + 1) - 1)
return abs(int(num) - num) < epsilon

我检查了这两个函数对于 x 最多返回 1,000,000 的结果是否相同。但我不确定一般来说 int(x) == x 是否总是能正确确定一个数字是否为整数,因为例如 5 表示为 4.99999999999997 等的情况。

据我所知,如果我在 C 中使用第二种方法是正确的,但我不确定 Python 3。

最佳答案

is_integer python float类型中的函数:

>>> float(1.0).is_integer()
True
>>> float(1.001).is_integer()
False
>>>

关于python - 检查 float 是否等于python中的整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6209008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com