Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何区分浮点形式的int?_Python_Python 3.x - Fatal编程技术网

Python 如何区分浮点形式的int?

Python 如何区分浮点形式的int?,python,python-3.x,Python,Python 3.x,我正在做一个项目,但是在这里解释这个项目太难了,所以我在这里举一个简单的例子。就像我告诉python的那样: n = 1999.0 但是python不知道n是一个整数。那么我如何判断python n是一个整数呢 注意:我不能使用int方法。我再举一个例子: >>> # A code to calculate the sum of all integers below 100 that can be divided by 7. >>> n = 0 >&

我正在做一个项目,但是在这里解释这个项目太难了,所以我在这里举一个简单的例子。就像我告诉python的那样:

 n = 1999.0
但是python不知道n是一个整数。那么我如何判断python n是一个整数呢

注意:我不能使用int方法。我再举一个例子:

>>> # A code to calculate the sum of all integers below 100 that can be divided by 7.
>>> n = 0
>>> for i in range(1,101):
    if i / 7 == int(): # if it is a integer after being divided by 7
        n += i
>>> print(n)
0

我想问的是如何告诉python,虽然这个数字是浮点形式的,但它是一个整数,而不是用其他方法来解决这个问题,所以请不要误解这个问题。谢谢你的帮助

要检查浮点是否为整数,有几种方法,您可以使用整数除法并检查两个除法是否相等,或者取%1并检查它是否为0:

n=0
for i in range(1,101):
    if i / 7 == i // 7: # Compute division two times, one in float, the other in int
        n += i
print(n)

都是735


正如Sam Mason所建议的,计算可除以7的所有数字之和的最佳方法是,您应该只测试i%7==0

为什么第二个版本不是i%7==0?对我来说似乎更直观…@SamMason你完全正确,对于for循环来说,这更好,但问题是如何检查数字是浮点还是int,而不是它是否可以除以7!我会更新我的答案,包括你的答案comment@SamMason我只是注意到OP没有显示解决问题的另一种方法,只是检查它是否是一个整数。如果OP可能正在学习编程,我通常认为最好说你问了一个错误的问题。i、 除法,然后询问余数是否是一个整数,这是我们人类应该做的,但是对于计算机来说,通常最好在除法后计算余数,然后检查余数是否为零
n=0
for i in range(1,101):
    if i / 7 % 1 == 0: # Compute the decimals and check if it is null
        n += i
print(n)