Python 如何区分浮点形式的int?
我正在做一个项目,但是在这里解释这个项目太难了,所以我在这里举一个简单的例子。就像我告诉python的那样: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 >&
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)