前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python实例--随机密码生成器

python实例--随机密码生成器

作者头像
py3study
发布2020-01-06 10:31:09
1.7K0
发布2020-01-06 10:31:09
举报
文章被收录于专栏:python3python3

      最近在学习python,抽空看了看图形化模块wx,顺手写了个随机密码生成器,程序运行界面如下图:(注:在Ubuntu下运行结果)

源代码如下:

代码语言:javascript
复制
import wx import string import random  class Frame(wx.Frame):     def __init__(self,parent,id):         wx.Frame.__init__(self,parent,id,'随机密码生成器',size=(430,285))         panel = wx.Panel(self)         font=wx.Font(9,wx.MODERN, wx.NORMAL, wx.NORMAL)         wx.StaticBox(panel, -1, '参数选项', (5,10), (300,80))         wx.StaticText(panel,-1,'密码长度',(30,30))         self.usertext = wx.TextCtrl(panel,-1,'8',(100,30),(40,20))         self.usertext.SetFont(font)         wx.StaticText(panel,-1,'密码数量',(150,30))         self.usertext1 = wx.TextCtrl(panel,-1,'1',(220,30),(40,20))         self.usertext1.SetFont(font)         self.select1 = wx.CheckBox(panel, -1, '字母', (30,60))         self.select1.SetValue(True)         self.select2 = wx.CheckBox(panel, -1, '数字', (100,60))         self.select2.SetValue(True)         self.select3 = wx.CheckBox(panel, -1, '特殊字符', (170,60))         self.select3.SetValue(False)         self.button1 = wx.Button(panel, label='生成', pos=(320, 30), size=(80, 25))         self.button2 = wx.Button(panel, label='清空', pos=(320, 60), size=(80, 25))         self.usertext2 = wx.TextCtrl(panel,-1,'',(30,100),(350,150),style=wx.TE_MULTILINE|wx.HSCROLL|wx.TE_READONLY)         self.usertext2.SetFont(font)         self.Bind(wx.EVT_BUTTON, self.show, self.button1)         self.Bind(wx.EVT_BUTTON, self.clear, self.button2)                       def show(self,event):         value1 = self.usertext.GetValue()         value2 = self.usertext1.GetValue()         value3 = self.select1.GetValue()         value4 = self.select2.GetValue()         value5 = self.select3.GetValue()         yy = '~!@#$%^&*(),<>?'         uu=''         bob = []                  if not value1 or not value2:             wx.MessageBox('请输入密码长度和密码数量','错误')         if value3 :             uu = uu+string.ascii_letters         if value4 :             uu = uu+string.digits         if value5 :             uu = uu+yy         if not uu :             wx.MessageBox('请选择密码类型','错误')         else :             for i in range(int(value2)):                 tt = ''.join(random.sample(list(uu),int(value1)))                 bob.append(tt)                                         self.usertext2.SetValue('\n'.join(bob))      def clear(self,event):         self.usertext2.Clear()  if __name__ == '__main__':     app = wx.PySimpleApp()     frame = Frame(parent=None, id=-1)     frame.Show()     app.MainLoop() 
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档