1首先为大家介绍一下Random包
random是内建(built-in)函数,作用是产生随机数,使用较多.
首先是导入模块
import randoom
接着就可以调用random模块下的函数了。
使用下面命令语句可以查看random包所包含的内容:
dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', 'WichmannHill', '_BuiltinMethodType', '_MethodType', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '_acos', '_ceil', '_cos', '_e', '_exp', '_hashlib', '_hexlify', '_inst', '_log', '_pi', '_random', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'division', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'jumpahead', 'lognormvariate', 'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
-random.randint(start,end) ?
简单的使用方法如下
random.randint(1, 100) # 54
-random.choice(seq)
从序列中随机选取一个元素等等。
random.choice([1, 2, 3, 5, 8, 13]) #list 5
random.choice('hello') #字符串 h
random.choice(['hello', 'world']) #字符串组成的list 'world'
random.choice((1, 2, 3) #元组 3
?
2.程序
1.首先我们导入所需要的包
import tkinter as tk
import random
2.创建一个窗口并对其名称大小进行设置
win=tk.Tk()
win.title('随机密码生成')#添加窗口标题
win.geometry('300x250')#设置窗口大小
?
3.在窗口内创建标题以及对应的输入框
t0=tk.Label(win,text='随机密码生成\n------------------')
t0.grid(row=0,column=1)
t1=tk.Label(win,text='所设密码的项目名称\t:')#创建设置密码的项目标签
t1.grid(row=1,column=0)
e1=tk.Entry(win)#创建项目名称输入框
e1.grid(row=1,column=1)
t2=tk.Label(win,text='生成的密码位数\t:')#创建获取密码位数标签
t2.grid(row=2,column=0)
e2=tk.Entry(win)#创建密码位数输入框
e2.grid(row=2,column=1)
4.在窗口内创建随机密码输出标签及输出框
t3=tk.Label(win,text='随机生成的密码为\t:')#设置随机密码输出标签
t3.grid(row=3,column=0)
var=tk.StringVar()#对字符串类型进行包装
tk.Label(win,width=20,height=1,bg='white',textvariable=var).place(x=130,y=88)#创建随机密码文本输出框并设置其大小
?
?
5.创建密码选取字符串
a='1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAMNBVCXZ'
6.创建密码生成函数
def sc():
global var
p=random.sample(a,int(e2.get()))
q=''.join(p)
var.set(q)
7.通过按钮调用函数
butt=tk.Button(win,text='Add',command=sc)#创建按钮并通过command调用函数
butt.grid(row=4,column=0)#调节按钮位置
8.创建密码保存函数,并用按钮调用
def save():
df=e1.get()
f = open('密码本.txt', 'a+')
f.write(str(e1.get())+'密码为:'+str(var.get())+'\n')
f.close()
butt1=tk.Button(win,text='Save',command=save)
butt1.grid(row=4,column=1)
butt=tk.Button(win,text='Add',command=sc)
butt.grid(row=4,column=0)
win.mainloop()
运行完成后会在文件夹中生成一个密码本.txt 文档在其内部保存所生成的密码及其项目名称
? ? ?
?
?
?
全部代码:
import tkinter as tk
import random
win=tk.Tk()
win.title('随机密码生成')
win.geometry('300x250')
t0=tk.Label(win,text='随机密码生成\n------------------')
t0.grid(row=0,column=1)
t1=tk.Label(win,text='所设密码的项目名称\t:')
t1.grid(row=1,column=0)
e1=tk.Entry(win)
e1.grid(row=1,column=1)
t2=tk.Label(win,text='生成的密码位数\t:')
t2.grid(row=2,column=0)
e2=tk.Entry(win)
e2.grid(row=2,column=1)
t3=tk.Label(win,text='随机生成的密码为\t:')
t3.grid(row=3,column=0)
var=tk.StringVar()
tk.Label(win,width=20,height=1,bg='white',textvariable=var).place(x=130,y=88)
a='1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAMNBVCXZ'
def sc():
global var
p=random.sample(a,int(e2.get()))
q=''.join(p)
var.set(q)
def save():
df=e1.get()
f = open('密码本.txt', 'a+')
f.write(str(e1.get())+'密码为:'+str(var.get())+'\n')
f.close()
butt=tk.Button(win,text='Add',command=sc)
butt.grid(row=4,column=0)
butt1=tk.Button(win,text='Save',command=save)
butt1.grid(row=4,column=1)
win.mainloop()
|