宿題でこの質問に本当に固執しました。
すべてが機能しますが、 にスペース ( ' '
) がある場合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')])
これは、1 番目AB
が 2 番目になり、2 番目C D
が 1 番目になることを意味し、3 番目が存在しないため停止する必要があります。
21 4
ではなく、だったとしましょう2143
。3 番目EFG
は 4 番目、4 番目HJ K
は 3 番目ということになります。