(编辑:jimmy 日期: 2024/12/27 浏览:2)
实现制作抽奖程序,需要认知到我们可以看到一般抽奖程序界面上是有很多按钮的,比如中奖区域,按键开始区域等等,所以我们先要设置界面,然后把这些按钮添加到界面中去,想必这对于学过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中存储的值