如何以浮点数形式区分int?

时间:2019-01-26 11:26:12

标签: 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
>>> 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 :(得分:1)

要检查浮点数是否为整数,可以使用多种方法,您可以使用int除法并检查两个除法是否相等,或者采用%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)

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)

同时打印735

如萨姆·梅森(Sam Mason)所建议的那样,计算所有可以除以7的数字之和的最佳方法就是测试if i%7 == 0