前几个月,趁着班里的活动,闲着没事,对着启蒙书捣鼓了一个抽签小程序。
源码是这样的
f = open('测试范围.txt','r',encoding='utf-8')#以只读模式,utf-8打开并读取文件‘抽签范围.txt’
s = f.read()
f.close()
s = str(s)
s = s.split(',')#将文件中内容分割为列表
from tkinter import *
import random
def btnClicked():#按钮按下后的处理
cd = int(e1.get())
p = random.sample(s,cd)
p = '\n'.join(p)
l2.config(text = p)#将标签内容改为抽选出的列表以在GUI输出
r = Tk(className = '抽签GUI')
r.resizable(True,True)#x,y大小可调整
r.geometry('500x700')
l1 = Label(r,text = '请输入抽选个数',font = ('Arial',25))
l1.pack()
e1 = Entry(r,width = 18,font = ('黑体',20))
e1.pack()
b1 = Button(r,text = '抽选',command = btnClicked,bd=2,width = 9,font = ('Arial',10))
b1.pack()
l2 = Label(r,text = '抽选结果',fg = 'blue',font = ('楷体',30))
l2.pack()
r.mainloop()
(都是些基础语法,相信能上csdn都写得出来,如有雷同,纯属巧合,当然要用的拿去用吧)
运行过程
基本框架大概就是先把要抽选项目放到一个txt文件里,用一个符号(我用的逗号)分隔开。然后让程序读取这个文件,将结果转为字符串,然后分割成列表。用random库随机选取上面列表的n项。再在每项间插入换行符“\n”。
注意文件内容的分隔符、文件名还有编码格式,这些都会影响程序的。
输入输出上面使用的是GUI。也没什么特别的。
结果会想这样呈现。
毕竟是给老师做的,要在大屏打出来的,所以字号比较大。
问题
首先,受限于GUI窗口大小和屏幕的大小,抽选的结果一次只能大约20个左右。
其次,毕竟是用python写的,无法编译运行,对环境有要求(不知道有没有大佬能支下招呢)
最后最后,声明一点,random库是随机抽选,想动手脚的您还得自己研究程序。