python 코드 를 작성 하여 간단 한 추첨 기 를 실현 합 니 다.
# 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(' {} ~'.format(len(data)))
going = True
return
def lottery_start(var1, var2):
global is_run
if is_run:
messagebox.showwarning(' ', ' !')
return
if len(data)==0:
messagebox.showwarning(' ', ' , !')
return
is_run = True
var2.set(' ~')
lottery_roll(var1, var2)
def lottery_end():
global going, is_run, data
if is_run:
if len(data)==0:
messagebox.showwarning(' ', ' , !')
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(' ', ' !')
if __name__ == '__main__':
data = getNameList()
window = Tkinter.Tk()
window.geometry('800x500+500+200')
window.title(' ?')
bg_label = Label(window, width=800, height=500, bg='#ECf5FF')
bg_label.place(anchor=NW, x=0, y=0)
var_title = StringVar(value=' ?')
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=' {} , '.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=' ', command=lambda: lottery_end(), width=14, height=2, bg='#A8A8A8',
font=' -18 bold')
button2.place(anchor=NW, x=450, y=400)
window.mainloop()
캡 처:이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.