如何测试一个数字是整数还是小数点后只有零的浮点数?

2024-04-20 11:07:35 发布

您现在位置:Python中文网/ 问答频道 /正文

澄清一下,我使用的是Python2.7

我需要检查“x”是一个整数(例如7)还是“x”是一个小数点末尾只有一个零的浮点(例如7.0)。我有一个格式,所以我需要的帮助是代码。你知道吗

    x = raw_input("Please enter a number: ")

    if type(x) == int or __________ :
        return True
    else:
        return False

我的目标是,如果插入5或5.0,它将返回True,但如果插入6.7,它将返回False。你知道吗

下划线(空格)是我需要添加代码的地方。我尝试了很多不同的尝试,但都失败了。你知道吗


Tags: 代码falsetruenumberinputrawreturnif
3条回答

啊,如果floats有一个像“is_integer”这样的方法。。。你知道吗

一个非常简单的测试,因为Python整数的分辨率是无限的:

return float(x) == int(float(x))

来自raw_input的结果不是一个数字,而是一个字符串。这就是为什么它必须首先转换成float。你知道吗

假设你有一个值,r,这是一个浮点数/实数

r = 3.33333

当r是浮点/实数(非整数)时,下列值为非零

f = r - int(r)
print r -int(r)

但是,正则表达式可能是一个更通用的解决方案,因为您可以搜索匹配的\d*.\0*[1-9]{1}作为float,和\d+。?0*被解释为整数。你知道吗

相关问题 更多 >