-3
      NDP_INDEX = 0
      GREEN_INDEX = 1
      LIBERAL_INDEX = 2
      CPC_INDEX = 3

定数があるとしましょう

      PARTY_INDICES = [NDP_INDEX, GREEN_INDEX, LIBERAL_INDEX, CPC_INDEX]
      INDEX_TO_NAME = {NDP_INDEX: 'NDP', GREEN_INDEX: 'GREEN', LIBERAL_INDEX:'LIBERAL'
                       CPC_INDEX: 'CPC'}
      NAME_TO_INDEX = {'NDP':NDP_INDEX, 'GREEN':GREEN_INDEX, 'LIBERAL':LIBERAL_INDEX,
                        'CPC':CPC_INDEX}


def voting_plurality(votes):

    '''(list of str) -> (list of int)

パラメーターは、1 回の騎乗での 1 人の候補者の投票のリストです。

複数投票では、最も多くの票を獲得した政党が議席を獲得します。スターター コードで、この関数のヘッダーとドキュメント文字列を提供しています。

要素が各政党の投票数を含む 4 つの要素のリストである int のリストを返します。リスト要素の順序は、PARTY_INDICES の当事者の順序に対応します。

    >>>voting_plurality(['GREEN', 'GREEN', 'NDP', 'GREEN', 'CPC'])
    [1,3,0,1]
    '''

    party_list = [0, 0, 0, 0]
    #These Gaps need filled out


    return party_list

enumerate や lambda などのインポートされたプログラムを使用せず、辞書 INDEX_TO_NAME および NAME_TO_INDEX を使用すると、[1,3,0,1] の出力が必要で、出力は [1,3,0,1] です。 「GREEN」票があり、「GREEN」は PARTY_INDICES のインデックスで 2 番目、「NDP」票は 1 票あり、「NDP」は PARTY_INDICES のインデックスで 1 位、「リベラル」票はなく、「リベラル」は 3 番目です。 PARTY_INDICES のインデックスであり、1 つの「CPC」投票があり、「CPC」は PARTY_INDICES のインデックスで最後です。party_list が作成され、PARTY_INDICES のインデックスに従って投票数をカウントするために使用されます。

出力は [1,3,0,1] である必要があります。これが人々にとってより意味のあるものになることを願っています。助けてください。ありがとうございました

4

1 に答える 1

0

問題を正しく理解していれば、これでうまくいくと思います

def voting_plurality(votes):
    party_list = [0, 0, 0, 0]

    for i in range(len(votes)):
        if votes[i] in NAME_TO_INDEX:
            party_list[NAME_TO_INDEX[votes[i]]] += 1

    return(INDEX_TO_NAME[index_to_max(party_list)], party_list)
于 2012-12-12T06:19:13.740 に答える