如果列表中有三个相同的整数,则返回布尔值True。如果它没有三个相同的整数,它将返回一个布尔值False。我写这篇文章时遇到了麻烦。计数功能是否这样做?还要导入必要的空列表吗?我有这个,我得到错误“'int'对象没有属性'count'”。谢谢!
def threeOfAKind(aList,n):
if aList.count(n):
return True
else:
return False
threeOfAKind([1,2,3,4,4,4],4])应该返回True 我尝试了aList.count(n),但现在无论我怎么称,我都会得到真实
答案 0 :(得分:0)
这一行:
if aList.count(n):
是您的代码无效的原因。
count
list
函数返回列表中n
的出现次数。如果您的参数是[1,2,3,4,4,4]和4,aList.count(n)
将返回3,因为4在列表中出现3次。
因此上面的代码行基本上与:
相同if 3:
现在3将转换为布尔值,因为这是if
条件的预期值。如果您想知道3被转换为True或False,只需在交互式Python解释器中尝试bool(3)
。
您想要检查列表中是否n
发生了3次,因此您可能需要将aList.count(n)
的返回值与某些内容进行比较?如果aList.count(n)
返回2或4,你显然不想返回True,是吗?