实现制作抽奖程序,需要认知到我们可以看到一般抽奖程序界面上是有很多按钮的,比如中奖区域,按键开始区域等等,所以我们先要设置界面,然后把这些按钮添加到界面中去,想必这对于学过tkinter的同学应该不难。下面结合实现步骤:设计界面、利用循环、多线程来完成抽奖程序设置吧。

实现代码:

import random #导入内置的random模块

list1=list(range(0,15)) #将range元素进行列表转换并赋值给列表list1

print("抽奖号码是:",list1) #打印所有的参与抽奖的号码

list2=[] #定义空列表list2,用来储存中奖号码

while len(list1)>0:

result =random.choice(list1) #在列表list1里选择抽取的号码并赋值给result

if result in list1 and result%2==0 and result%3==0:

print("您的号码是:{},恭喜您,您中一等奖".format(result))

list1.remove(result)

list2.append(result)

elif result%5==0:

print("您的号码是:{},恭喜您,您中了二等奖".format(result))

list1.remove(result)

list2.append(result)

elif result%3==0:

print("您的号码是:{},恭喜您,您中了三等奖".format(result))

list1.remove(result)

list2.append(result)

elif result%2!=0 and result%3!=0 and result%5!=0:

print("您的号码是:{},您未中奖".format(result))

elif result==list1[-1] or result==list1[0]: #当抽取到列表list1最后一个或者第一个元素时

print("您的号码是:{},抽奖结束".format(result)) #打印号码,并打印抽奖结束

print("中奖名单是:", list2)

print("未中奖名单是:", list1)

Break

输出结果:

抽奖号码是: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

您的号码是:5,恭喜您,您中了二等奖

您的号码是:10,恭喜您,您中了二等奖

您的号码是:6,恭喜您,您中一等奖

您的号码是:3,恭喜您,您中了三等奖

您的号码是:13,您未中奖

您的号码是:11,您未中奖

您的号码是:14,抽奖结束

中奖名单是: [5, 10, 6, 3]

未中奖名单是: [0, 1, 2, 4, 7, 8, 9, 11, 12, 13, 14]

实例扩展:

import xlrd,random#导入读取excel的模块xlrd,取随机数的模块random

data = xlrd.open_workbook("01.xls")#xlrd模块中的函数

table = data.sheet_by_index(0)#同上

num = input("请输入抽奖人数:")

start = input("请输入起始位置:")

end = input("请输入结束位置:")

start = eval(start)#将字符串转换为整数

end = eval(end)

num = eval(num)

print("获奖名单为:")

for i in range(num):

idx = random.randint(start,end+1)

tmp = table.cell_value(idx,1)#将读取到的元素临时存储到tmp中

print(tmp)#输出tmp中存储的值

到此这篇关于python制作抽奖程序代码详解的文章就介绍到这了