利用GUI界面生成六位验证码
各位大神,孩纸就靠你们了!!!{:10_254:}编程:利用GUI界面实现生成验证码六位的程序。
要求:6位验证码应该可以有大写字母小写字母和数字;数字和字母出现的概率比是2:1;大写字母和小写字母的出现概率比是1:1;界面要美观自然,控件的大小颜色还有字体字号要有所变化。
?这不是问问题的好办法
直接发项目,你指望大家给你做作业吗{:10_277:} 你还是花钱去找别人写吧哈哈{:10_250:}
这个白嫖不了 昨非 发表于 2021-4-10 23:06
?这不是问问题的好办法
直接发项目,你指望大家给你做作业吗
from tkinter import *
from random import *
def compute():
yzm=[]
for i in range(6):
sz=str(randint(0,9))
zm=chr(randint(65,90))
yz=chr(randint(97,122))
yzm.append(choice())
lal.config(text=yzm)
win=Tk()
win.title("生成验证码")
win.geometry("300x200")
lal=Label(win,text="验证码的位置")
lal.config(font=("微软雅黑",20))
lal.config(bg="blue")
lal.pack()
bul=Button(win,text="生成验证码")
bul.config(command=compute)
bul.config(activebackground="green")
bul.pack(side=BOTTOM)
win.mainloop()
不好意思,因为是第一次用论坛所以不太懂规则,上面的是我做的,但是我不知道怎么让数字和字母概率为2:1,查了半天书也不会 本帖最后由 小伤口 于 2021-4-11 00:35 编辑
from tkinter import *
from random import *
def compute():
yzm=[]
for i in range(2):
sz=str(randint(0,9))
yzm.append(sz)
for i in range(2):
zm=chr(randint(65,90))
yzm.append(zm)
for i in range(2):
yz=chr(randint(97,122))
yzm.append(yz)
shuffle(yzm)#打乱顺序
lal.config(text=yzm)
win=Tk()
win.title("生成验证码")
win.geometry("300x200")
lal=Label(win,text="验证码的位置")
lal.config(font=("微软雅黑",20))
lal.config(bg="blue")
lal.pack()
bul=Button(win,text="生成验证码")
bul.config(command=compute)
bul.config(activebackground="green")
bul.pack(side=BOTTOM)
win.mainloop()
既然要数字和字母出现的概率比是2:1;大写字母和小写字母的出现概率比是1:1
那么分开写就行然后打乱列表顺序就好啦~
我还以为还要去验证 验证码,如果只是生成验证码那还好 别管什么 2:1 还是 1:1
不就是 6 个字符嘛
总的来讲就是生成 4 个数字, 2 个字母
2 个字母里面, 1 个大写 1 个小写
生成完了以后,放到 list1 里面
list1 用 random.shuffle(list1) 去打乱顺序,然后输出就可以了
页:
[1]