⑴ 怎么用python写一个抽奖程序,是抽取图片或视频
16年年会抽奖网上有人对公司的抽奖结果又偏见,于是全员进行了抽奖代码的review,好像是爱奇艺公司的,下面用python来实现一个抽奖程序。
主要功能有
1.从一个csv文件中读入所有员工工号
2.将这些工号初始到一个列表中
3.用random模块下的choice函数来随机选择列表中的一个工号
4.抽到的奖项的工号要从列表中进行删除,以免再次抽到
初级版
这个比较简单,缺少定制性,如没法设置一等奖有几名,二等奖有几名
import csv#创建一个员工列表emplist = []#用with自动关闭文件with open('c://emps.csv') as f:
empf = csv.reader(f) for emp in empf:
emplist.append(emp)
print("进行一等奖抽奖,共有一名")import random#利用random模块的chice函数来从列表中随机选取一个元素e1 = random.choice(emplist)#将中奖的员工从列表中剔除emplist.remove(e1)
print('一等奖得主的号码是 %s' % e1)
print('进行三个二等奖的号码抽奖')
e2_1 = random.choice(emplist)
emplist.remove(e2_1)
e2_2 = random.choice(emplist)
emplist.remove(e2_2)
e2_3 = random.choice(emplist)
emplist.remove(e2_3)
print('获得3个二等奖是 %s %s %s',(e2_1,e2_2,e2_3))#下面依次类推可以设置三等奖的抽奖
改进版
上面的那个初级版,假如要设置个三等奖一百名那么将要重新维护几百行代码,下面用比较高级点的办法实现.
我们考虑用面向对象来实现,设计一个抽奖类,类中包含一个属性(号码来源),一个方法:产生所有抽奖层次指定个数的抽奖号码。
用到如下知识点:
1. csv模块部分函数用法
2. sys模块读取输入
3. random模块函数choice函数用法
4. 列表和字典元素的添加、删除
6. for循环中range用法
7. 类和面向对象
8. 字符打印,print中的计算
9.open中with
#!/usr/bin/python#coding=utf-8import csvimport sysimport random
reload(sys)
sys.setdefaultencoding('utf8')#coding=utf-8print("开始进行抽奖")#定义个抽奖类,功能有输入抽奖级别和个数,打印出每个级别的抽奖员工号码class Choujiang:
#定义scv文件路径
def __init__(self,filepath):
self.empfile = filepath def creat_num(self):
emplist = [] with open(self.empfile) as f:
empf = csv.reader(f) for emp in empf:
emplist.append(emp)
print('共有%s 人参与抽奖' % len(emplist))
levels = int(input('抽奖分几个层次,请输入:')) #定义一个字典
level_dict = {} for i in range(0,levels):
print('请输入当前获奖层次 %s 对应的奖品个数' % ( i + 1))
str_level_dict_key = sys.stdin.readline()
int_level_dict_key = int(str_level_dict_key)
level_dict[i] = int_level_dict_key #循环完成后抽奖层次字典构造完毕
#进行抽奖开始
print('抽奖字典设置为: %s' % level_dict) for i in range(0,len(level_dict)):
winers = [] #产生当前抽奖层次i对应的抽奖个数
for j in range(0,int(level_dict[i])): #利用random模块中的choice函数从列表中随机产生一个
winer = random.choice(emplist)
winers.append(winer)
emplist.remove(winer)
print('抽奖层次 %s 下产出的获奖人员有:' % (i + 1 ))
print(winers)#类功能定义完毕,开始初始化并使用if __name__ == '__main__':
peoples = Choujiang('c://emps.csv')
peoples.creat_num()
该段程序在python 2.6 以上及 3中均可以运行,运行结果如下图:
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)] on win32
Type "right", "credits" or "license()" for more information.>>> ================================ RESTART ================================>>> 开始进行抽奖
共有24790 人参与抽奖
抽奖分几个层次,请输入:2请输入当前获奖层次 1 对应的奖品个数1请输入当前获奖层次 2 对应的奖品个数3抽奖字典设置为: {0: 1, 1: 3}
抽奖层次 1 下产出的获奖人员有:
[['张三19826']]
抽奖层次 2 下产出的获奖人员有:
[['张三18670'], ['张三23235'], ['张三15705']]>>> 1234567891011121314151617
⑵ 我想用易语言制作一个类似幸运28抽奖模拟器
1、显示器不亮,首先考虑的是VGA线接触不良,可以尝试拔掉屏幕背后和主机箱上的屏幕连接线,重新连接试一下。⑶ 抽奖程序的种类
幸运转盘
幸运转盘一般是用于一些抽奖活动,幸运转盘也有很多不同的风格设计,可以通过查看图册浏览相关的不同风格。幸运转盘当前已经被广泛使用。
转盘抽奖
程序大小:268KB
程序语言:简体中文
软件类别: 国产软件 / 编程工具
应用平台: Win/Liu
乐乐幸运转盘程序是一款用Flash为主要制作工具设计制作而成的抽奖程序,其界面多风格化, 奖项分类多样式。
大富翁抽奖
程序大小:200KB
程序语言:AS3
程序类别:网页抽奖程序
应用平台:适用于任何平台
幸运魔方大富翁网页抽奖程序是一款已经开发好的程序,基本功能:邀请好友注册和分享微博抽奖纪录和 中奖纪录等功能。最好的直接嫁接到任何网站平台即可使用。
幸运魔方抽奖程序功能介绍
1、可自己添加音乐库;
2、奖项图片在后台设置更换;
3、邀请好友注册送一次抽奖机会;
4、分享到微博功能;
5、抽奖参与用户纪录;
6、抽奖中奖纪录;
乐乐转盘1.0版功能简介
乐乐抽奖程序1.0版功能
1、背景音乐修改;
2、外部奖品图片;
3、中奖概率控制;
4、奖项名称设置;
5、中奖提示内容设置;
2.0版功能简介
乐乐抽奖程序2.0版主要功能如下:
1、可以后台更换背景音乐;
2、可以控制每个奖品的中奖概率;
3、可以控制每个奖品的最多出奖数量,比如说设置特等奖一名;
4、可以进行金币抽奖,比如说一个金币抽奖一次;
5、会员积分功能,比如说抽一次抽积一分;
6、积分商城功能,会员可以用积分在商城兑换商品;
7、商城系统功能,带发货,收货等常用功能;
8、生成充值卡功能,比如说用金币抽奖的话,可以在后台生成金币充值卡,充值卡可以招代理,更好为网站赢利;
9、手机号码收集功能,比如说想留下顾客手机号码,要求输入手机号码就可以免费抽一次奖;
10、订单号抽奖功能,比如说在商场买东西时产生一个订单号码,输入订单号码即可以抽奖一次;
11、积分卡功能,顾客消费后,商家反馈一张积分卡,让顾客抽奖等
⑷ 使用python制作一个抽奖小游戏——骰子游戏
**2. **创建Die类****
5.汇总
这个可以创建多种玩法,随机摇骰子只是其中的一种,还可以先让一个人输入一个幸运数字并储存起来,然后再执行程序,如果数字不等于幸运数字就不是幸运星,当数字等于时就是幸运星并结束程序——类似抽奖。。。。
总之玩法很多,看你怎么写,用最基础的知识来实现!
⑸ 一抽奖小程序,需十位学生信息,抽出一等奖1名,二等奖2名,三等奖3名
java">publicstaticvoidmain(String[]args){
intinput=10;
Scanners=null;
List<Student>ls=newArrayList<>();
ls.add(newStudent("张3",'男'));
ls.add(newStudent("张4",'女'));
ls.add(newStudent("张5",'男'));
ls.add(newStudent("张6",'男'));
ls.add(newStudent("张7",'女'));
ls.add(newStudent("张8",'男'));
List<Student>ls=newArrayList<>();
//由于不能重复中奖,所以抽一次就要把中奖的学生移除,所以不能在原list中操作。
ls.addAll(ls);
while(input!=0){
System.out.println("选择:");
System.out.println("1:一等奖");
System.out.println("2:二等奖");
System.out.println("3:三等奖");
System.out.println("0:结束");
s=newScanner(System.in);
input=s.nextInt();
switch(input){
case1:
//随机出0-9十个数字
intfirst=(int)(Math.random()*(ls.size()-1));
System.out.println("一等奖:"+ls.get(first));
//已经中奖的移除
ls.remove(first);
break;
case2:
for(inti=0;i<2;i++){
intsecond=(int)(Math.random()*(ls.size()-1));
System.out.println("二等奖:"+ls.get(second));
ls.remove(second);
}
break;
case3:
for(inti=0;i<3;i++){
intthird=(int)(Math.random()*(ls.size()-1));
System.out.println("三等奖:"+ls.get(third));
ls.remove(third);
}
break;
}
}
}
自己看着改一下,没运行过不知道有没有错,大概就是这么个意思。你自己再写个学生类
⑹ 公司年会要抽奖,那些抽奖的小程序是在那里获取的呀
年底已到,大大小小的公司都已经开始举办年会了,年会年年开,但是一般公司年会都是除了吃饭就是看节目,连最吸引人的抽奖环节也毫无新意。那么,怎样让年会活动变得有新意呢?用箱子抽奖,全看台上的人表演了,太没意思。那也可以来个好玩的,弄个转盘进行抽奖活动。发一下自己写的公司抽奖程序。需求:公司年会要一个抽奖程序,转盘上的每一个人名是随机中奖的,中奖后的人不可以再次中奖,按住抽奖,就会一直在转,放开后,要再转一两圈才停。呵,刚好自己在学python cocos2d, 就用这个刚学的东东,虽然只学了点皮毛.首先我们看需求:我们想弄一个抽奖系统,在抽奖的时候我们希望针对不同的奖品有可以设置不同的中奖概率,还有就是我们不想一个时间马上就把所有的奖品就发送出去了,最好能是在每几名中产生一名。同时要兼顾后面的,不要前面的人把奖品全部抽走了后面就没有奖品了。前端时间有个需求是客户端双端APP内嵌入整个转盘抽奖的web子系统,具体是要在后台能够控制大转盘抽奖的奖项数,和用户免费抽奖的次数,并且免费抽奖使用完,用户可以观看广告进行抽奖或使用积分抽奖。正好最近有空,出了这篇教程,解析转盘抽奖的实现过程。
⑺ 微信抽奖小程序怎么做
制作抽奖小程序的有什么好处?⑻ 求网页抽奖修改抽奖机会代码!!!
这个是在人家服务器上的,你在本地修改是没用的,
就打个比方,你把你存折的金额PS添加几位,但是实际上你的存款还是不变的。
抽奖机会你在本地修改了,服务器那边也是没有的。
⑼ 抽取幸运观众用python怎么作
你给所有的观众编一个幸运编号,例如:001,002.....
随机抽取数字:
#-*-coding:utf-8-*-
importrandom
'''
start:开始编号
stop:结束编号
num:中奖人数
'''
defluck(start,stop):
a=random.randint(start,stop)
returna
n=0
start=0
stop=100
num=10
foriinrange(stop):
ifn!=num:
print(luck(start,stop))
n=n+1
⑽ python编写抽奖程序
#data和name_data数据自己添加
import random
# 所有员工数据,字典的key是一个set类型,value是list类型
data = {
('能永年', '甲队'): ['项目队长', '曾经外派抵达x地做出了某事', '曾经外派抵达子公司做出了ss项目'],
('巴伟毅', '乙队'): ['HR'],
('纪文博', '丙队'): ['项目成员', '为xx事做出了重大贡献', '曾经做过AA项目'],
('吉信鸿', '丙队'): ['HR', '为公司面试了XX人次', ],
('沙雅旭', '丙队'): ['财务管理', '针对财务的做出了重要指导'],
}name_data = ['能永年', '巴伟毅', '纪文博', '吉信鸿', '沙雅旭'] # 参见抽奖人的姓名random_name = random.choice(name_data) # 随机一个中奖的人for key, value in data.items():# print(key,value)if random_name == key[0]: # 在字典key中找到这人print('{}:{}'.format(key[0], key[1]))for item in value: # 遍历他的信息print(' ' + item.ljust(20))