'''
【选举小程序】
1.从键盘录入候选人姓名、编号(按录入顺序)
2.打印候选人信息,格式:
编号      姓名1       张三2       李四3       王五
3.进行投票,输入候选人编号,并累计票数,直到输入-1结束投票
4.打印结果,格式:
编号      姓名      得票数1       张三        22       李四        53       王五        3
最终当选人:XX
'''
#候选人类
class Hxr:#构造候选人的方法def __init__(self,num,name):self.num=numself.name=nameself.depiao=0#公示候选人信息的方法def showInfos(self,res=0):  #传参res,用于决定是否打印得票数s=f" {self.num}\t{self.name}\t"if res!=0:  #res默认值0,若要打印得票一栏,给res赋值即可s+=f"{self.depiao}\t"print(s)#得票数计算的方法def addVote(self):self.depiao+=1#投票程序类
class VoteProgram():def __init__(self):self.hxrs=[] #存放候选人信息的列表#录入候选人的方法def addHxr(self):print("【录入候选人信息】")a=0 #编号变量while True: #不定次循环录入候选人信息a+=1 #自动编号name=input("请输入候选人姓名:")h=Hxr(a,name) #创建候选人对象self.hxrs.append(h) #对象添加进列表next=input("任意键继续录入,输入-1结束录入")if next=="-1":break#公示候选人信息的方法def showHxr(self):print("【候选人信息如下】")print("编号\t姓名\t")for b in self.hxrs:b.showInfos()#投票的方法def vote(self):print("*"*30)print("【开始投票】")while True:num=input("请输入所投候选人编号(输入-1结束录入)")if num=="-1":breakfor h in self.hxrs: #循环所有候选人if str(h.num)==num: #找到输入的编号对应的候选人(此处不限制int是为了避免程序报错终止h.addVote() #当前候选人得票数+1breakelse:   #不符合投票规则的输入print("此编号无效!")#公示票选结果的方法def showResult(self):max_piao=0dxr=Noneprint("投票结束,结果如下:")print("编号\t姓名\t得票数\t")for h in self.hxrs: #循环所有候选人h.showInfos(1) #给res赋参数1,打印得票if h.depiao>max_piao:max_piao=h.depiaodxr=hprint("【当选人信息】")dxr.showInfos(1)#主程序def main(self):#1.录入候选人信息self.addHxr()#2.公示候选人信息self.showHxr()#3.投票self.vote()#4.公示票选结果self.showResult()if __name__ == "__main__":vp = VoteProgram()vp.main()

【Python】选举投票小程序相关推荐

  1. python编程经典案例-一个非常适合Python新手的编程案例——投票小程序

    想快速入门Python,实战才是捷径. 前面给大家介绍了新手学习Python最重要的一点,就是多动手,多练习,在实战中才能快速进阶.那么通常一个好的实战案例是会让大家的学习事半功倍的.假如你现在刚刚学 ...

  2. 用python 玩微信小程序“跳一跳”

    12月28日,微信上线了小游戏「跳一跳」,瞬间成了全民游戏,如何牢牢占据排行榜的第一位呢?用Python帮助你,Python真的无所不能. 作为技术出身的我们,是不是想用技术改变排名呢? 注意:本文适 ...

  3. python小程序源代码-整理了适合新手的20个Python练手小程序

    100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. 本文附带基础视频教程:私信回复[基础]就可以获取的 [程序1] ...

  4. python开发微信小程序-微信小程序开发:python+sanic 实现小程序登录注册

    开发微信小程序时,接入小程序的授权登录可以快速实现用户注册登录的步骤,是快速建立用户体系的重要一步.这篇文章将介绍 python + sanic + 微信小程序实现用户快速注册登录全栈方案. 微信小程 ...

  5. python开发微信小程序-Python 开发者的微信小程序开发实践

    导读 在知乎上,有人提问"如何使用 Python 开发微信小程序". 其实微信小程序作为一个前端的机制,Python 并不能插上边.只不过可以作为后端接口为微信小程序提供数据服务而 ...

  6. python程序实例电话本-利用Python电话本小程序!这波操作你给几分?

    原标题:利用Python电话本小程序!这波操作你给几分? 最近比较忙,只能抽空的写写文章,其实我也是一个上班族,python完全是个人想学然后希望以后对工作有所帮助,2019年了,祝大家新年快乐. 2 ...

  7. python小程序-【Python精华】100个Python练手小程序

    100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同 ...

  8. python基础代码事例-Python简单基础小程序的实例代码

    1 九九乘法表 for i in range(9):#从0循环到8 i += 1#等价于 i = i+1 for j in range(i):#从0循环到i j += 1 print(j,'*',i, ...

  9. python程序实例教程基础-Python简单基础小程序的实例代码

    1 九九乘法表 for i in range(9):#从0循环到8 i += 1#等价于 i = i+1 for j in range(i):#从0循环到i j += 1 print(j,'*',i, ...

最新文章

  1. 判断类之间的父子关系
  2. AI一分钟|美国第一家!Waymo商业自动驾驶打车服务正式获批
  3. WakaTime数据同步展示工具
  4. python unix时间戳格式化输出_python正常时间和unix时间戳相互转换的方法
  5. cocos2dx动作讲解
  6. Weak Pair HDU - 5877 树状数组+离散化+DFS遍历
  7. mysql查看binlog日志内容
  8. 力扣452 用最少的箭引爆气球(个人感悟向,非完整代码)
  9. bzoj 4236: JOIOJI(map+pair)
  10. APICloud可视化编程
  11. 二层交换机与三层交换机交换原理
  12. CentOS 7教程(二)-网络设置
  13. 粒子滤波与重要性采样
  14. win怎么在计算机里按日期搜索文件,Windows下怎么按时间查找文件
  15. 【英语:基础高阶_全场景覆盖表达】K9.口语主题陈述——饮食健康类
  16. Lisp:AutoLisp入门、操作编程实例详细攻略
  17. 疫情持续肆虐,Jelurida为抗疫项目保驾护航
  18. 佳能 c3000 系统设置改语言,win7如何更改语言 win7系统中将电脑语言改成英文的方法步骤介绍...
  19. 本地部署 Whisper 及 WhisperDesktop
  20. python在画布上显示动态图片_python – matplotlib – 直接在画布上绘图

热门文章

  1. 【RTD】AD7793四线式铂电阻PT100/PT1000应用
  2. 网络电视连接服务器显示1404,电信网络电视连接错误代码为1404为什么
  3. java中accept什么意思_什么是Java中的IntStream.Builder accept()方法
  4. Agora RTM,声网sdkdemo,在线聊天室,一对一,群聊
  5. 伺服驱动器-电流环设计
  6. Spring Boot 禁用 Swagger 的三种方式
  7. 基于云模型的协同过滤推荐算法代码实现(附源代码)
  8. 模糊?还是概率?两杯水,一杯模糊有毒,一杯概率有毒,你必须选一杯喝下去,你选哪一杯?
  9. SSD为什么需要Trim?
  10. 图片懒加载以及数据懒加载