全国计算机二级Python第19套-简单应用-45

使用字典和列表型变量完成村长选举。某村有40名有选举权和被选举权的村民,名单有考生文件夹下文
件name.xt给出,从这40名村民中选出一人当村长,40人的投票信息由考生文件夹下文件vote.txt给出,每行是
一张选票的信息,有效票中得票最多的村民当选。
问题1:请从vote.xt中筛选出无效票写入文件vote1.txt。有效票的含义是:选票中只有一-个名字且该名字
在name1.txt文件列表中,不是有效票的票称为无效票。
问题2:给出当选村长的名字及其得票数。在考生文件夹下给出了程序框架文件PY202.py,补充代码完成
程序。

参考答案

  1.  
  2. f=open("name.txt")
  3.  
  4. names=f.readlines()
  5.  
  6. f.close()
  7.  
  8. f=open("vote.txt")
  9.  
  10. votes=f.readlines()#['冷兴鑫\n', '冯萌 冷兴鑫\n']
  11.  
  12. f.close()
  13.  
  14. f=open("vote1.txt","w")
  15.  
  16. D={}#{'冷兴鑫':12}
  17.  
  18. NUM=0
  19.  
  20. for vote in votes:
  21.  
  22. num = len(vote.split())
  23.  
  24. if num==1 and vote in names:
  25.  
  26. D[vote[:-1]]= D.get(vote[:-1],0)+1
  27.  
  28. NUM+=1
  29.  
  30. else:
  31.  
  32. f.write(vote)
  33.  
  34. f.close()
  35.  
  36. #[('冷兴鑫',12),()]
  37.  
  38. l=list(D.items())
  39.  
  40. l.sort(key=lambda s:s[1],reverse=True)
  41.  
  42. name=l[0][0]
  43.  
  44. score=l[0][1]
  45.  
  46. print("有效票数为:{} 当选村长村民为:{},票数为:{}".format(NUM,name,score))
  47.  

 


历年真题

全国计算机二级Python 第19套-简单应用-44

2024-4-23 10:22:33

历年真题

全国计算机二级Python第19套-综合应用-46-问题1

2024-4-23 10:29:36

个人中心
购物车
优惠劵
今日签到
搜索