每日一题:计算机二级Python真题《明星投票 两问》详解

描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

使用字典和列表型变量完成最有人气的明星的投票数据分析。投票信息由附件里的文件 vote.txt 给出,一行只有一个明星姓名的投票才是有效票。有效票中得票最多的明星当选最有人气的明星。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

问题一:请统计有效票张数。在编程模板中补充代码完成程序。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

附图vote.txt 截图‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

代码示例:(有问题可以联系我o(* ̄︶ ̄*)o)

f = open("vote.txt",encoding="utf-8")
names = f.readlines()
f.close()
n = 0
for name in names:
    num = len(name.split())
    if num==1: #选出一行一个的有效票
        n+=1
print("有效票{}张".format(n))
问题二:请给出当选最有人气明星的姓名和票数,右侧编程模板中补全代码,可删除横线,随意修改代码,完成程序。

代码示例:

f = open("vote.txt",encoding="utf-8")
names = f.readlines()
f.close()
D = {}
for name in names:
    if len(name.split())==1:
        D[name[:-1]]=D.get(name[:-1],0) + 1#统计
l = list(D.items())
l.sort(key=lambda s:s[1],reverse=True)#排序
name = l[0][0]
score = l[0][1]
print("最具人气明星为:{},票数为:{}".format(name, score))

作者:zhengyuanyehit

物联沃分享整理
物联沃-IOTWORD物联网 » 每日一题:计算机二级Python真题《明星投票 两问》详解

发表回复