专栏首页python3python实例--随机密码生成器

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

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

源代码如下:

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() 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python之图形界面

    在编写python GUI程序前,需要决定使用哪个GUI平台。wxpython----跨平台pythonGUI工具包

    py3study
  • python wx 的wx.Frame框

    最近用python的wx模块写了一些窗口,其中wx.Frame是一个最重要的窗口框架,上网上查找了一些材料,其常用的属性用法如下:

    py3study
  • H3C设备命名规则

    GE 通常就是千兆以太网 COMBO口么也是千兆口,但是需要配模块,可以用光模块,也可以用电口。 光口就是可以接光纤,电口就是跟GE一样了,所以叫COMBO口,...

    py3study
  • 1.Python图形界面编程wxPython基本框架

    wxPython是Python最常用的一种用户界面库,容易入门且功能强大。今天这段代码就是使用wxPython建立图形界面的一个基本代码框架。以后无论要建造多么...

    用户4381798
  • 面试官:来,问你几个关于HashMap的问题?

    最简单形式的 hash,是一种在对任何变量/对象的属性应用任何公式/算法后, 为其分配唯一代码的方法。

    用户5546570
  • HashMap是如何工作的

    最简单形式的 hash,是一种在对任何变量/对象的属性应用任何公式/算法后, 为其分配唯一代码的方法。

    java思维导图
  • Java的Hashmap

    HashMap是什么,估计学Java的人都懂。那我就不啰嗦了,本文主要是基于Java8,下面主要以下几个方面学习一下:1)HashMap的数据结构、负载因子 2...

    用户3467126
  • 最通俗易懂的 HashMap 源码分析解读

    HashMap 作为最常用的集合类之一,有必要深入浅出的了解一下。这篇文章会深入到 HashMap 源码,刨析它的存储结构以及工作机制。

    未读代码
  • 【应用】信用评分卡:分类问题

    我必须说,当三岁以上的女孩Amishi宣布,她只是与我妻子的朋友而不是我交往时,我感到震惊。 分手的原因是我是男孩,女孩只能是女孩的朋友。 她从幼儿园的朋友那里...

    陆勤_数据人网
  • 协议森林15 先生,要点单吗? (HTTP协议概览)

    我在TCP流通信中说明了,TCP协议实现了数据流的传输。然而,人们更加习惯以文件为单位传输资源,比如文本文件,图像文件,超文本文档(hypertext docu...

    Vamei

扫码关注云+社区

领取腾讯云代金券