在我的家庭作业中我一直在问这个问题。在
一切正常,但是当p
中有一个空格(' '
)时。我需要停止创建can
的过程。在
例如,如果我提交:
rankedVote("21 4", [('AB', '132'), ('C D', ''), ('EFG', ''), ('HJ K', '2 1')])
我想要:
^{pr2}$返回,而不是像现在这样返回[]
。在
代码如下:
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')])
这意味着第一个,AB
变成了第二个,
第二个变成第一个,
它应该停止,因为第三个不存在。在
假设不是21 4
,而是2143
。
这意味着第三个是第四个,
第四个是第三个
我知道这个问题很老,但我觉得很有趣。在
就像previous answer说你在那之前没有返回列表,你正在返回
[]
。在你应该做的是:
另外,既然您似乎知道如何使用
^{pr2}$zip
,那么您也可以这样做:输出:
密码是按照你的指示做的。请看下面的代码块:
相关问题 更多 >
编程相关推荐