Estinien 发表于 2021-7-19 12:17:08

关于Majority Vote的函数问题

创建一个函数 many(votes),它返回列表中的多数票。 Majority Vote是在列表中出现 >𝑛/2 次的元素(其中 𝑛 是列表的长度)。 如果没有多数票,该函数应返回 None。

函数测试:
assert majority(["A", "A", "B"]) == "A"
assert majority(["pizza", "pizza", "pizza", "burger", "burrito", "pizza"]) == "pizza"
assert majority(["koala", "kangaroo", "kangaroo", "koala", "wombat", "wombat"]) == None
assert majority(["dogs", "cats", "dogs", "snakes"]) == None

好兄弟请问下这个函数怎么写?

wp231957 发表于 2021-7-19 12:17:09

def many(votes) :
    tmp=set(votes)
    flag=None
    for x in tmp:
      if votes.count(x)/len(votes)>0.5:
            flag=x
            break
    return flag

print(many(["A", "A", "B"]))
print(many(["pizza", "pizza", "pizza", "burger", "burrito", "pizza"]))
print(many(["koala", "kangaroo", "kangaroo", "koala", "wombat", "wombat"]))
print(many(["dogs", "cats", "dogs", "snakes"]))

Estinien 发表于 2021-7-19 12:18:31

再发一下,题目貌似有点不清晰,创建一个函数 many(votes),它返回列表中的多数票。 Majority Vote是在列表中出现 >n/2 次的元素(其中 n 是列表的长度)。 如果没有多数票,该函数应返回 None。

Estinien 发表于 2021-7-20 12:07:02

wp231957 发表于 2021-7-19 14:34


采纳晚了,谢谢老哥
页: [1]
查看完整版本: 关于Majority Vote的函数问题