写一个函数,它接受一个名为list的列表作为参数。如果列表只包含1到6之间的每个整数一次,则返回布尔值True,否则返回False。在
这是家庭作业,我以为我做得对,但现在它告诉我它不对。这是我的密码。在
def isItAStraight(aList):
count = 0
for i in set(aList):
count += 1
return aList.count(i) == 1
因为某些原因,即使一个数字出现了不止一次,它仍然是真的,我不明白为什么它不会给我假,除非第一个或最后一个数字被改变。在
每个数字只能出现一次,否则为假。在
所以就拿[1,2,3,4,5,6] 是真的。 但是[1,2,2,3,4,5] 会是假的。在
我也不想把收集的东西分开来做
列表从1到6随机生成。在
如果循环中有一个
return
,则只检查一个值。你需要检查每个值。另外,不要循环遍历列表中的项,而应该遍历实际查找的项。这也有助于确保列表中的项目数量正确。在但最简单的方法是简单地对列表进行排序并检查它是否是您要查找的内容:
^{pr2}$你需要小心列表中的内容。您所写的基本上与下面的伪代码相同:
如果
aList
中至少有一个元素,则这将始终返回true,因为您要将1添加到count,然后立即返回。在考虑以下几种方法:
flags
的包含所有零的6个元素的列表。迭代aList
,并将flags
中的相应元素设置为1
。如果flags
都是1,则返回true。在1, 2, 3, 4, 5, 6
。在相关问题 更多 >
编程相关推荐