python 实例解析--村长选举

简介: python 实例解析--村长选举

村长选举 第一问

描述

使用字典和列表型变量完成村长选举。某村有40名有选举权和被选举权的村民,名单在附件name.txt中,从这40名村民中选出一人当村长,40人的投票信息由附件vote.txt中给出,每行是一张选票的信息,有效票中得票最多的村民当选。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬


问题:请从vote.txt 中筛选出无效票写入文件vote1.txt 。有效票的含义是:选票中只有一个名字且该名字在name.txt文件列表中,不是有效票的票称之为无效票。


代码实现

f = open("name.txt", encoding="utf-8")
names = f.readlines()
f.close()
f = open("vote.txt", encoding="utf-8")
votes = f.readlines()
f.close()
D = {}
NUM = 0
print(votes)
for vote in votes:
    num = len(vote.split())  # 分解成列表,并求列表长度(元素个数)
    if num == 1 and vote in names:  # 仅一个且在姓名中,有效
        D[vote[:-1]] = D.get(vote[:-1], 0) + 1
        NUM += 1
    else:
        with open("vote1.txt", "a+", encoding="utf-8") as fi:
            fi.write("{}".format(vote))  # 如果无效,保存到vote1文件内

运行结果

12.png


村长选举 第二问

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

使用字典和列表型变量完成村长选举。某村有40名有选举权和被选举权的村民,名单在附件name.txt中,从这40名村民中选出一人当村长,40人的投票信息由附件vote.txt中给出,每行是一张选票的信息,有效票中得票最多的村民当选。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬


问题:给出当选村长的名字及其得票数。


代码实现

f = open("name.txt", encoding="utf-8")
names = f.readlines()
f.close()
f = open("vote.txt", encoding="utf-8")
votes = f.readlines()
f.close()
D = {}
NUM = 0
for vote in votes:
    num = len(vote.split())  # 分解成列表,并求列表长度(元素个数)
    if num == 1 and vote in names:  # 仅一个且在姓名中,有效
        D[vote[:-1]] = D.get(vote[:-1], 0)+1
        NUM += 1
l = list(D.items())
l.sort(key=lambda s: s[1], reverse=True)
name = l[0][0]
score = l[0][1]
print("有效票数为:{} 当选村民为:{},票数为:{}".format(NUM, name, score))

运行结果

13.png


附件

在这里我把提到的两个文件放在下面。也可以使用自己的文件。

name.txt
邵冠华
瑞卡特
倪克伟
王仕琛
胡鸿博
韩可心
边禹
封亚凯
杨鑫晨
左承诚
李泽坤
资振鑫
乔威浩
张天伟
史磊
陈建福
刘笑雨
南梓晖
冷兴鑫
李东庭
冯萌
刘婕
倪昊真
王伟红
魏锐颖
向娜
张琳
周峻宇
曾钟鑫
陈嘉俊
戴光奕
郜艾荣
郭群
李光耀
李吉星
李颖铮
刘凯威
潘建宏
潘瑞宁
石梓玥

vote.txt
冷兴鑫
李东庭
冯萌
冷兴鑫
冷兴鑫
李东庭
李东庭
李东庭
冯萌 冷兴鑫
猪八戒
李东庭
李东庭
冯萌
李东庭
冯萌
李东庭
李东庭
李东庭
李东庭
冯萌
李东庭
李东庭
李东庭
李东庭
冯萌
李东庭
李东庭
李东庭
冯萌
李东庭
冯萌
李东庭
李东庭
李东庭
李东庭
冯萌
李东庭
李东庭
李东庭
李东庭

学会简单运用,如何打开文件读取,实现计票的功能。

相关文章
|
1天前
|
存储 Java 数据安全/隐私保护
Python----类对象和实例对象
Python----类对象和实例对象
9 2
|
2天前
|
图形学
R语言其他相关函数(各函数解析含实例,可供查询)
R语言其他相关函数(各函数解析含实例,可供查询)
3 0
|
2天前
|
Web App开发 设计模式 测试技术
python自动化测试实战 —— 自动化测试框架的实例
python自动化测试实战 —— 自动化测试框架的实例
15 0
|
2天前
|
数据采集 NoSQL 中间件
python-scrapy框架(四)settings.py文件的用法详解实例
python-scrapy框架(四)settings.py文件的用法详解实例
10 0
|
2天前
|
XML 存储 数据格式
python path解析基础
python path解析基础
15 0
|
2天前
|
数据采集 Python
Python HTML解析详解
Python HTML解析详解
11 0
|
2天前
|
数据可视化 Python
python中Copula在多元联合分布建模可视化2实例合集|附数据代码
python中Copula在多元联合分布建模可视化2实例合集|附数据代码
|
2天前
|
机器学习/深度学习 存储 算法
Python套索回归lasso、SCAD、LARS分析棒球运动员薪水3个实例合集|附数据代码
Python套索回归lasso、SCAD、LARS分析棒球运动员薪水3个实例合集|附数据代码
|
2天前
|
XML 安全 API
Python读写XML文件:深入解析与技术实现
Python读写XML文件:深入解析与技术实现
65 0
|
8月前
|
XML JavaScript 关系型数据库

推荐镜像

更多