实现制作抽奖程序,需要认知到我们可以看到一般抽奖程序界面上是有很多按钮的,比如中奖区域,按键开始区域等等,所以我们先要设置界面,然后把这些按钮添加到界面中去,想必这对于学过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制作抽奖程序代码详解的文章就介绍到这了