我目前正在从事一个小项目,该项目涉及分析选票,并根据选票数量确定获胜候选人。投票制度非同寻常。例如,如果有四名候选人,投票结果可能如下:2341(第一名候选人2名,第二名候选人3名,以此类推)。但是,如果投票结果是这样的:2334无效,同一数字不能在投票中使用两次。 我想知道是否有一种方法可以检查一个数字中是否有重复的数字。我已经有了一个解决方案,但是它并不适用于我所有的测试用例
当前代码:
voteListString = ['2314', '4432', '4312', '1243', '1234', '2431'] # 4432 should get removed (it doesn't)
for i, voteString in enumerate(voteListString):
newI = i+1
duplicateCheck = voteString.count(f"{newI}")
if duplicateCheck > 1:
voteInt = int(voteString)
voteList.remove(f"{voteInt}")
spoiltBallots += 1
else:
validVoteList.append(voteString)
上面的代码是一个for循环,它在已转换为字符串的投票列表中循环。然后计算“i”在投票中出现的次数,如果出现不止一次,它会将其从列表中删除。这只适用于我的一个测试用例。如果有更好的方法,我会非常感谢你的帮助。 提前谢谢
如果我正确理解了您的问题,您可以像这样使用
set
检查:
使用
set
使用集合如何:
相关问题 更多 >
编程相关推荐