使用python的TK函数制作一个简单的抽人程序

 最近学习了python的TK窗口函数,制作了一个简单的抽人小程序

运行环境:python3.7

运行效果: 

代码结构比较简单 

from tkinter import *
from tkinter import messagebox
import random

class Window(object):
    def __init__(self):
        self.window=Tk()
        self.title="抽人小程序"
        self.size=(500,200)


        
    def show(self):
        def c():   #输入格式判断
            #not e1.get()判断是否为空
            if not e1.get():   
                messagebox.showinfo("警告:","请输入序号范围下限!")
            elif not e2.get():
                messagebox.showinfo("警告:","请输入序号范围上限!")
            elif not e3.get():
                messagebox.showinfo("警告:","请输入抽取数量!")
            elif int(e1.get())>int(e2.get()) or int(e1.get())<=0 or int(e2.get())<=0:
                messagebox.showinfo("警告:","请输入正确的上下限!")
            elif int(e3.get())<=0:
                messagebox.showinfo("警告:","请输入正确的抽取数量!")
            else:
                d()
        def d():  #抽取并使用弹窗输出
            List = []
            for i in range(int(e3.get())):
                List.append(random.randint(int(e1.get()),int(e2.get())))
            messagebox.showinfo("恭喜","抽到===>{}".format(List))
            
        ##绘制窗口组件
        self.window.geometry("%dx%d"%self.size)
        self.window.title(self.title)
        ##添加序号范围输入框(获取抽取范围)
        lb1 = Label(self.window, text='请输入序号范围:')
        lb1.grid(row=0, column=0)
        v1 = StringVar()
        e1 = Entry(self.window, textvariable=v1)
        e1.grid(row=0, column=1)
        lb2 = Label(self.window, text='~')
        lb2.grid(row=0, column=2)
        v2 = StringVar()
        e2 = Entry(self.window, textvariable=v2)
        e2.grid(row=0, column=3)
        ##添加抽取数量输入框
        lb3 = Label(self.window, text='需要抽取人数:')
        lb3.grid(row=1, column=0)
        v3 = StringVar()
        e3 = Entry(self.window, textvariable=v3)
        e3.grid(row=1, column=1)
        lb4 = Label(self.window, text='人')
        lb4.grid(row=1, column=2)
        ##添加按钮,调用函数c
        button1 = Button(self.window, text='抽取', command=c)
        button1.grid(row=10, column=4, sticky=E)
        
if __name__ == '__main__':
    window=Window()
    window.show()

Python中,我们可以结合Tkinter库创建一个简单的抽奖程序。首先,我们需要设置抽奖界面,包含一个列表表示奖品,一个按钮用于开始抽奖,以及一个按钮用于停止抽奖。以下是基本的步骤: 1. 导入必要的库: ```python import tkinter as tk from random import choice ``` 2. 创建主窗口和基本布局: ```python root = tk.Tk() root.title("抽奖") frame = tk.Frame(root) frame.pack(pady=20) ``` 3. 定义奖品列表: ```python prizes = ["一等奖", "二等奖", "三等奖", "谢谢参与"] ``` 4. 开始和停止按钮的定义: ```python start_button = tk.Button(frame, text="开始抽奖", command=start_lottery) stop_button = tk.Button(frame, text="停止抽奖", command=stop_lottery) start_button.pack(side=tk.LEFT) stop_button.pack(side=tk.LEFT) ``` 5. 实现抽奖逻辑的函数: ```python running = False def start_lottery(): global running running = True show_prize() def stop_lottery(): global running running = False print("抽奖已停止") def show_prize(): if not running: return prize = choice(prizes) print(f"恭喜,你抽到了:{prize}") # 每隔一段时间再显示新的奖品,这里只是一个简单示例 root.after(2000, show_prize) # 间隔2秒再次抽奖 ``` 6. 运行主循环: ```python root.mainloop() ``` 现在你已经有了一个基础的抽奖程序,用户可以点击开始抽奖,抽奖过程将持续到点击停止抽奖为止。每次抽奖后,奖品会随机从列表中选取并显示出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值