用Python统计票数

使用字典和列表型变量完成最有人气的明星的投票数据分析,一行只有一个明星姓名的投票才是有效票。有效票中得票最多的明星当选最有人气的明星。

问题1:请统计有效票张数。

f = open("vote.txt")
names = f.readlines()
f.close()
n = 0
for name in names:
    num = len(name.split())
    if num==1:
        n+=1
print("有效票{}张".format(n))

最终结果:

用Python统计票数_第1张图片
问题2:请给出当选最有人气明星的姓名和票数。

 

f = open("vote.txt")
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))

最终结果:

用Python统计票数_第2张图片

 

你可能感兴趣的:(11,python,开发语言)