如何使用指数和字典形成此函数

2024-04-20 07:41:31 发布

您现在位置:Python中文网/ 问答频道 /正文

      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)

该参数是单个骑乘项目的单个候选人选票列表。你知道吗

在多数投票中,得票最多的一方赢得席位。我们已经在启动程序代码中为此函数提供了头文件和docstring。你知道吗

返回int的列表,其中元素是一个四元素列表,其中包含每个政党的选票数。列表元素的顺序与参与方索引中参与方的顺序相对应。你知道吗

    >>>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之类的导入程序,使用字典索引\u TO \u NAME和NAME \u TO \u INDEX,我需要一个输出[1,3,0,1],输出为[1,3,0,1],这是因为有3个“绿色”投票,并且“绿色”在PARTY \u索引中排名第二,有1个“NDP”投票,而“NDP”在PARTY \u索引中排名第一,没有“自由派”选票,“自由派”在政党指数中排名第三,有1个“共产党”选票,“共产党”在政党指数中排名最后。 创建政党名单,用于根据政党指数的指数计算投票数。你知道吗

输出需要是[1,3,0,1],我希望这对人们更有意义。请帮帮我。谢谢


Tags: toname元素列表indexpartygreen投票
1条回答
网友
1楼 · 发布于 2024-04-20 07:41:31

如果我对这个问题理解正确,我想这个应该行得通

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)

相关问题 更多 >