需求1
文件
name.txt
邵冠华
瑞卡特
倪克伟
王仕琛
胡鸿博
韩可心
边禹
封亚凯
杨鑫晨
左承诚
李泽坤
资振鑫
乔威浩
张天伟
史磊
陈建福
刘笑雨
南梓晖
冷兴鑫
李东庭
冯萌
刘婕
倪昊真
王伟红
魏锐颖
向娜
张琳
周峻宇
曾钟鑫
陈嘉俊
戴光奕
郜艾荣
郭群
李光耀
李吉星
李颖铮
刘凯威
潘建宏
潘瑞宁
石梓玥
vote.txt
冷兴鑫
李东庭
冯萌
冷兴鑫
冷兴鑫
李东庭
李东庭
李东庭
冯萌 冷兴鑫
猪八戒
李东庭
李东庭
冯萌
李东庭
冯萌
李东庭
李东庭
李东庭
李东庭
冯萌
李东庭
李东庭
李东庭
李东庭
冯萌
李东庭
李东庭
李东庭
冯萌
李东庭
冯萌
李东庭
李东庭
李东庭
李东庭
冯萌
李东庭
李东庭
李东庭
李东庭
提示1
f=open("name.txt")
names=f.readlines()
f.close()
f=open("vote.txt")
votes=f.readlines()
f.close()
D={}
NUM=0
for vote in _______(1)________:
num = len(vote.split())
if num==1 and vote in _______(2)________:
D[vote[:-1]]=_______(3)________+1
NUM+=1
else:
with open("vote1.txt","a+",encoding="utf-8") as fi:
fi.write("{}".format(__))
需求2
提示2
'''
'''
f=open("name.txt")
names=f.readlines()
f.close()
f=open("vote.txt")
votes=f.readlines()
f.close()
D={}
NUM=0
for vote in _______(1)________:
num = len(vote.split())
if num==1 and vote in _______(2)________:
D[vote[:-1]]=_______(3)________+1
NUM+=1
l=list(D.items())
l.sort(key=lambda s:s[1],_______(5)________)
name=____(6)____
score=____(7)____
print("有效票数为:{} 当选村民为:{},票数为:{}".format(NUM, name, score))
答案1
# 获取所有的村民信息
name_list = list()
fr_name = open("name.txt", "r", encoding="utf8")
for name in fr_name:
name = name.strip()
name_list.append(name)
fr_name.close()
# 获取所有的选票信息
vote_list = list()
fr_vote = open("vote.txt", "r", encoding="utf8")
for vote in fr_vote:
vote = vote.strip()
vote_list.append(vote)
fr_vote.close()
# 保存无效票的信息
fw = open("vote1.txt", "w", encoding="utf8")
# 筛选有效票
for vote_name in vote_list:
# print(vote_name)
li = vote_name.split()
if len(li) > 1:
fw.write(vote_name)
fw.write("\n")
continue
if vote_name not in name_list:
fw.write(vote_name)
fw.write("\n")
continue
fw.close()
答案2
"""
print("有效票数为:{} 当选村民为:{},票数为:{}".format(NUM, name, score))
"""
# 获取所有的村民信息
name_list = list()
fr_name = open("name.txt", "r", encoding="utf8")
for name in fr_name:
name = name.strip()
name_list.append(name)
fr_name.close()
# 获取所有的选票信息
vote_list = list()
fr_vote = open("vote.txt", "r", encoding="utf8")
for vote in fr_vote:
vote = vote.strip()
vote_list.append(vote)
fr_vote.close()
# 有效票列表
useful_list = list()
# 保存无效票的信息
fw = open("vote1.txt", "w", encoding="utf8")
# 筛选有效票
for vote_name in vote_list:
# print(vote_name)
li = vote_name.split()
if len(li) > 1:
fw.write(vote_name)
fw.write("\n")
continue
if vote_name not in name_list:
fw.write(vote_name)
fw.write("\n")
continue
useful_list.append(vote_name)
fw.close()
d = {}
for useful_name in useful_list:
old_num = d.get(useful_name, 0)
new_num = old_num + 1
d[useful_name] = new_num
items = d.items()
list_item = list(items)
list_item.sort(key=lambda o: o[1], reverse=True)
num = len(useful_list)
name = list_item[0][0]
score = list_item[0][1]
print("有效票数为:{} 当选村民为:{},票数为:{}".format(num, name, score))