最近在学习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()

©著作权归作者所有:来自51CTO博客作者13319085的原创作品,如需转载,请注明出处,否则将追究法律责任

实例Pythonwxpythonshell与编程

python123随机密码生成器_python实例--随机密码生成器相关推荐

  1. python随机密码生成器_python实例--随机密码生成器

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

  2. python圆形生成器_python中的生成器

    什么是生成器? 生成器是一个包含了特殊关键字yield的函数.当被调用的时候,生成器函数返回一个生成器.可以使用send,throw,close方法让生成器和外界交互. 生成器也是迭代器,但是它不仅仅 ...

  3. python 迭代器 生成器_Python迭代器和生成器

    迭代器认知 迭代器 (iterator): 如果一个对象同时有__iter__()和__next__()魔术方法的话,这个对象就可以称为是迭代器. __iter__()的作用是可以让for循环遍历.而 ...

  4. python 迭代器 生成器_python 迭代器与生成器

    迭代器 迭代器就是iter(可迭代对象函数)返回的对象,说人话.......可迭代对象由一个个迭代器组成 可以用next()函数获取可迭代对象的数据 迭代是访问集合元素的一种方式(因为集合是无序的,所 ...

  5. python迭代器和生成器_Python迭代器与生成器

    一.如何实现可迭代对象和迭代器对象 1.由可迭代对象得到迭代器对象 例如l就是可迭代对象,iter(l)是迭代器对象 In [1]: l = [1,2,3,4] In [2]: l.__iter__ ...

  6. python随机颜色数字_python颜色随机生成器的实例代码

    1. 代码: def random_color(number=number): color = [] intnum = [str(x) for x in np.arange(10)] #Out[138 ...

  7. python随机数列_Python2随机数列生成器简单实例

    本文实例讲述了Python2随机数列生成器.分享给大家供大家参考,具体如下: #filename:randNumber.py import random while True: try: row=in ...

  8. ChipScope Pro内核生成器应用实例

    ChipScope Pro内核生成器应用实例 下面通过一个简单8位计数器的例子,了解如何在工程中添加ChipScope Pro内核生成器的各个IP核,对FPGA内部节点和逻辑进行观测.在该实例中,我们 ...

  9. python列表推导式生成随机数_python 【迭代器 生成器 列表推导式】

    python [迭代器  生成器  列表推导式] 一.迭代器 1.迭代器 如何从列表.字典中取值的 index索引 ,key for循环 凡是可以使用for循环取值的都是可迭代的 可迭代协议 :内部含 ...

  10. python列表生成器语法_Python 列表生成式\生成器

    Python 列表生成式+生成器 一.列表生成式 1.什么是列表生成器 一种可以便捷地生成列表的表达式,有时候可以替换list.append(变量) 2.需求. 如何将列表中的每个数据都加1 列表:d ...

最新文章

  1. 仿真器(emulator)和模拟器(simulator)的区别
  2. 独家揭秘!史上最强中文NLP预训练模型 | 直播报名中
  3. [UGUI]圆形Image
  4. 博客园在升级的路上,不妨更自信些,同时说说我们可以为博客园做些什么
  5. Metronic学习之路
  6. Vlan和vtp重要的配置命令
  7. springmvd接收参数问题
  8. android7.0提示定位,解决android7.0上某些PopuWindow显示位置不正确的问题
  9. python步长为负时的情况
  10. 【 ORA-27102: out of memory处理】
  11. ios view添加上边框_ios – UIView的圆顶角,并添加边框
  12. Java 线程池的实现原理,你真的理解吗?
  13. android虚拟机的使用教程,Android 虚拟机可以这么用了 ?
  14. LeetCode3 无重复字符的最长子串
  15. Ubuntu 14.04 配置iptables防火墙
  16. SpringCloudOAuth2之验证资源服务器的配置
  17. SEO快速排名,关键词快速排名软件,到底靠谱不靠谱
  18. python爬虫练习--爬上海法院开庭公告信息
  19. QQ语音麦克风没声音,但其他地方能用麦克风(USB耳机麦克风)
  20. 错误数据(图片)去除

热门文章

  1. 【硬见小百科】二极管和三极管的命名原则
  2. 树莓派简单入门(基本小案例)
  3. java证明角谷猜想_Java程序(角谷猜想,applet) -
  4. c语言测试单句代码运行时间,c语言测试代码的运行时间
  5. 设置input框只能输入6位为数字的支付密码
  6. provisional headers are shown解决办法
  7. tableau度量值计算_度量值与度量名称
  8. jQuery boxy弹出层插件中文演示及讲解(转)
  9. 2022N1叉车司机考试练习题及在线模拟考试
  10. Linux内存管理(二):ARMv8 地址转换