在我的家庭作业中真的遇到了这个问题。
' '
一切正常,但是当p
. 我需要停止创建can
.
例如,如果我提交:
rankedVote("21 4", [('AB', '132'), ('C D', ''), ('EFG', ''), ('HJ K', '2 1')])
我想拥有:
['C D', 'AB']
回来了,而不是[]
像现在这样。
代码如下:
def rankedVote(p,cs):
candsplit = zip(*cs)
cand = candsplit[0]
vote = list(p)
ppl = vote
can = list(p)
for i in range(len(vote)):
if ' ' in vote[i-1]:
return []
else:
vote[i] = int(vote[i])
can[vote[i]-1] = cand[i]
for i in range(len(vote)):
for j in range(len(vote)):
if i != j:
if vote[i] == vote[j]:
return []
return can
编辑:
在示例中:
rankedVote("21 4", [('AB', '132'), ('C D', ''), ('EFG', ''), ('HJ K', '2 1')])
这意味着第 1AB
个变成第 2 个,第 2 个C D
变成第 1 个,它应该停止,因为第 3 个不存在。
假设它不是21 4
,而是2143
。这意味着第三个EFG
将是第四个,第四个HJ K
将是第三个。