某班级在投票选举班干部,全班同学无记名投票,结束后唱票,选举票数最高的两位同学为班干部。(用字 典完成)
时间: 2024-06-09 11:07:18 浏览: 74
假设同学们的名字为字符串类型,班级人数为 n,投票结果为一个列表 votes,其中 votes[i] 表示第 i 位同学的投票结果,最终选举结果为一个列表 leaders,其中 leaders[0] 和 leaders[1] 分别表示得票数最高的两位同学。
可以使用 Python 的字典来实现:
```
n = len(votes)
vote_count = {}
for i in range(n):
if votes[i] in vote_count:
vote_count[votes[i]] += 1
else:
vote_count[votes[i]] = 1
sorted_votes = sorted(vote_count.items(), key=lambda x: x[1], reverse=True)
leaders = [sorted_votes[0][0], sorted_votes[1][0]]
```
首先,创建一个空字典 vote_count,用于记录每位同学的得票数。然后遍历投票结果列表 votes,对每个投票结果进行统计。如果该同学已经在字典中出现过,将对应的得票数加 1,否则将该同学加入字典,并将其得票数初始化为 1。
接着,使用 Python 的 sorted 函数对字典中的键值对进行排序,按照得票数从高到低排列。sorted 的 key 参数指定按照字典中的值进行排序,reverse 参数指定按照降序排序。排序后,得票数最高的两位同学即为列表 sorted_votes 中的前两项,将它们分别存入列表 leaders 中即可。
阅读全文