如果我有一个如下列表:
List = [12,6,3,5,1.2,5.5]
有没有办法检查所有数字是否都是整数?我试过像
这样的东西def isWhole(d):
if (d%1 == 0 ) : for z in List return true.
这显然是非常错误的。我该怎么办?
答案 0 :(得分:6)
所以你想要整数和浮点数等于整数?
def is_whole(d):
"""Whether or not d is a whole number."""
return isinstance(d, int) or (isinstance(d, float) and d.is_integer())
使用中:
>>> for test in (1, 1.0, 1.1, "1"):
print(repr(test), is_whole(test))
1 True # integer
1.0 True # float equal to integer
1.1 False # float not equal to integer
'1' False # neither integer nor float
将其应用到列表中
if all(map(is_whole, List)):
if all(is_whole(d) for d in List):
答案 1 :(得分:1)
列表L的简单解决方案:
def isWhole(L):
for i in L:
if i%1 != 0:
return False
return True
答案 2 :(得分:1)
列表= [12,6,3,5,1.2,5.5]
列表中的:
if i%1 != 0 :
print(False)
break