これで、Pairwise Comparisonとして知られる投票用紙を数える方法を書こうとしています。私は、言葉のあらゆる意味においてコードを書くことについて、私が完全な初心者であると指定しなければならない。これまでのところ、私はこのサイトの他のユーザーのおかげで投票用紙を作成し、それらをポジションに応じてランク分けしました。次に、それらを別々のリストに分けて、各順序ペアの候補がランクに関係なく一緒になるようにする必要があります(これは、候補者が他人と比較してどれくらいうまくやっているかを判断する方法の一部です)。ここに私がこれまで持っているコードはあります:ペアワイズ比較:1つのリスト内のサブリストを比較する
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人の順序付きペアを配置する必要があります(後で候補者をスコア付けする必要があります)。