logo资料库

python年终抽奖程序.docx

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
本程序主要用 python3 编写而成,一个简单的年终抽奖程序,需要使 用到 QyQt5 这个 GUI 库(pip install pyqt5 直接安装就行),感兴 趣的话,可以参考一下: import random import copy import sys from PyQt5.QtWidgets import * class Prize(QWidget): " 年终抽奖 " def __init__(self,filename): super(Prize,self).__init__() self.getMemberMsg(filename) self.initUI() def getMemberMsg(self,filename): '''获取员工信息''' data=open(filename,'r').readlines() # 读取员工信息 self.members=[row.strip() for row in data] # 去掉\n def initUI(self): '''UI 界面''' self.setWindowTitle("年终抽奖") self.setFixedSize(300,330) self.first_label=QLabel(self) self.first_label.setText('一等奖人数:') self.first_label.setGeometry(10,10,80,30) self.first_num=QSpinBox(self) self.first_num.setGeometry(100,10,190,30) self.second_label=QLabel(self) self.second_label.setText('二等奖人数:') self.second_label.setGeometry(10,50,80,30) self.second_num=QSpinBox(self) self.second_num.setGeometry(100,50,190,30) self.third_label=QLabel(self) self.third_label.setText('三等奖人数:') self.third_label.setGeometry(10,90,80,30) self.third_num=QSpinBox(self) self.third_num.setGeometry(100,90,190,30) self.btn=QPushButton(self)
self.btn.setText("抽奖") self.btn.setGeometry(10,130,280,30) self.btn.clicked.connect(self.lottery) self.show_msg=QTextEdit(self) self.show_msg.setReadOnly(True) self.show_msg.setGeometry(10,170,280,150) def lottery(self): '''抽奖函数''' members=copy.deepcopy(self.members) first_member=[] # 一等奖 second_member=[] # 二等奖 third_member=[] # 三等奖 for i in range(self.first_num.value()): # 抽取一等奖 f_tmp=random.choice(members) # 随机抽取获奖员工 members.remove(f_tmp) # 去掉已获奖的员工 first_member.append(f_tmp) # 插入 first_member 列表 for i in range(self.second_num.value()): # 抽取二等奖 s_tmp=random.choice(members) # 随机抽取获奖员工 members.remove(s_tmp) # 去掉已获奖的员工 second_member.append(s_tmp) # 插入 second_member 列表 for i in range(self.third_num.value()): # 抽取三等奖 t_tmp=random.choice(members) # 随机抽取获奖员工 members.remove(t_tmp) # 去掉已获奖的员工 third_member.append(t_tmp) # 插入 third_member 列表 msg='一等奖名单:'+','.join(first_member)+'\n' msg=msg+'二等奖名单:'+','.join(second_member)+'\n' msg=msg+'三等奖名单:'+','.join(third_member)+'\n' self.show_msg.setPlainText(msg) # 显示获奖人员信息 if __name__=="__main__": app=QApplication(sys.argv) ex=Prize('member.txt') ex.show() sys.exit(app.exec_())
程序运行截图:
分享到:
收藏