好的內比較子列表,所以我想寫計數稱爲成對比較排名選票的方法。我應該指定,我是一個完整的新手,當涉及到的每一個詞的意義上編寫代碼。到目前爲止,我已經成功地創造了選票(感謝這個網站的其他用戶),並根據他們的位置分成排名對。接下來,我需要把它們分成不同的列表,以便在每個有序對考生在一起秩無關(這是一個如何確定候選人如何相較於其他人做的一部分)。這裏是我到目前爲止的代碼:成對比較:一個列表
import itertools
import random
import collections
candidates = ['Trump', 'Cruz', 'Rubio', 'Carson', 'Fiorina']
def simul_ballots(num_voters):
ballots = []
choice = candidates[:]
for _ in range(num_voters):
random.shuffle(choice)
ballots.append(choice[:])
return ballots
n=3
ballots = simul_ballots(n)
i=0
m=0
oPairs = []
while i < n:
for a, b in itertools.combinations(ballots[i], 2):
x = (a,b)
x
ops = list(x)
oPairs.append(ops)
i += 1
oPairs
l = len(oPairs)-1
k=0
j=(k+1)
while (k < l):
print oPairs[k]
while (j < l):
#if all (x in oPairs[i] for x in oPairs[j]):
if (set(oPairs[k])==set(oPairs[j])):
print oPairs[j]
j+=1
k+=1
到目前爲止,我被困在這最後一節。我似乎無法理解如何給每個子列表進行比較,以其他(不重複,其重要的是有子列表相同數量的,我開始在這個例子中,我只產生3套票爲目的出於測試目的,所以應該有三個有序對使用相同的考生,無論定位的(我需要定位後,以高分考生)。在正確的方向上沒有任何提示或建議,將不勝感激!