溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python編寫實(shí)現(xiàn)抽獎(jiǎng)器

發(fā)布時(shí)間:2020-09-28 15:07:51 來源:腳本之家 閱讀:119 作者:江湖人稱黑哥 欄目:開發(fā)技術(shù)

本文實(shí)例為大家分享了python編寫實(shí)現(xiàn)抽獎(jiǎng)器的具體代碼,供大家參考,具體內(nèi)容如下

# coding=utf-8
import sys
import os
import openpyxl
if sys.version_info[0] == 2:
 import Tkinter
 from Tkinter import *
else:
 import tkinter as Tkinter
 from tkinter import *
from tkinter import messagebox

import random
data = []
going = True
is_run = False

def getNameList():
 path=os.getcwd()
 wb=openpyxl.load_workbook(r'list.xlsx')
 sheet=wb["Sheet1"]
 macList = []
 for i in range(2,sheet.max_row+1):
  macList.append(sheet.cell(row=i,column=1).value)
 return macList

def lottery_roll(var1, var2):
 global going
 if going:
 show_member = random.choice(data)
 var1.set(show_member)
 window.after(50, lottery_roll, var1, var2)
 else:
 var2.set('還有{}個(gè)小幸運(yùn)鬼喲~'.format(len(data)))
 going = True
 return

def lottery_start(var1, var2):
 global is_run
 if is_run:
 messagebox.showwarning('提醒', '命運(yùn)的齒輪正在瘋狂轉(zhuǎn)動(dòng)喲!')
 return
 if len(data)==0:
  messagebox.showwarning('提醒', '沒有幸運(yùn)兒了喲,快去抓幾個(gè)吧!')
  return
 is_run = True
 var2.set('命運(yùn)的齒輪開始轉(zhuǎn)動(dòng)起來啦~')
 lottery_roll(var1, var2)
 
def lottery_end():
 global going, is_run, data
 if is_run:
 if len(data)==0:
  messagebox.showwarning('提醒', '沒有幸運(yùn)兒了喲,快去抓幾個(gè)吧!')
  return
 show_member = random.choice(data)
 data.remove(show_member)
 print(show_member)
 var1.set(show_member)
 going = False
 is_run = False
 else:
 messagebox.showwarning('提醒', '命運(yùn)的齒輪還沒開動(dòng)呢!')
 
if __name__ == '__main__':
 data = getNameList()
 window = Tkinter.Tk()
 window.geometry('800x500+500+200')
 window.title('誰是幸運(yùn)兒?')
 
 bg_label = Label(window, width=800, height=500, bg='#ECf5FF')
 bg_label.place(anchor=NW, x=0, y=0)

 var_title = StringVar(value='誰是幸運(yùn)兒?')
 show_label1_title = Label(window, textvariable=var_title, justify='left', anchor=CENTER, width=18, height=4, bg='#ECf5FF',
   font='楷體 -40 bold', foreground='black')
 show_label1_title.place(anchor=NW, x=200, y=0)

 var1 = StringVar(value='<.<')
 show_label1 = Label(window, textvariable=var1, justify='left', anchor=CENTER, width=7, height=2, bg='#BFEFFF',
   font='楷體 -40 bold', foreground='black')
 show_label1.place(anchor=NW, x=320, y=200)
 
 var2 = StringVar(value='共有{}個(gè)幸運(yùn)兒,請(qǐng)開始游戲'.format(len(data)))
 show_label2 = Label(window, textvariable=var2, justify='left', anchor=CENTER, width=25, height=4, bg='#ECf5FF',
   font='楷體 -25 bold', foreground='red')
 show_label2.place(anchor=NW, x=240, y=320)

 button1 = Button(window, text='開始', command=lambda: lottery_start(var1, var2), width=14, height=2, bg='#A8A8A8',
   font='宋體 -18 bold')
 button1.place(anchor=NW, x=210, y=400)

 button2 = Button(window, text='結(jié)束', command=lambda: lottery_end(), width=14, height=2, bg='#A8A8A8',
   font='宋體 -18 bold')
 button2.place(anchor=NW, x=450, y=400)
 window.mainloop()

截圖:

python編寫實(shí)現(xiàn)抽獎(jiǎng)器

python編寫實(shí)現(xiàn)抽獎(jiǎng)器

python編寫實(shí)現(xiàn)抽獎(jiǎng)器

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI