#!/usr/bin/python# -*- coding: utf-8 -*-"""  Author:  Linxy -- <592901071@qq.com>  Purpose: "此程序用于生成指定位数的同时包涵大小写字母、数字0-9、及特殊符号~!@#$%^&*()_+`[]{}|<>的字符串"  Created: 2017/6/3"""import randomimport sysprint("此程序用于生成指定位数的同时包涵大小写字母、数字0-9、及特殊符号~!@#$%^&*()_+`[]{}|<>的字符串")print("注意:由于数字1与小写l比较相似所以生成的字符串里不包涵小写的l")n=input("请输入一个大于等于4的数字:")try: n1=int(n)except  ValueError: print("输入不能为空或者非数字") x=input() sys.exit()l=[]if n1<4: print("输入的数字必须大于等于4") x=input() sys.exit()a1=n1//4b1=random.randint(1,a1)b2=random.randint(1,a1)b3=random.randint(1,a1)b4=random.randint(1,a1)b5=n1-b1-b2-b3-b4for i in range(0,b1): l.append(random.choice("abcdefghijklmnopqrstuvwxyz"))for i in range(0,b2): l.append(random.choice("ABCDEFGHIJKLMNOPQRSTUVWXYZ"))for i in range(0,b3): l.append(str(random.randint(0,9)))for i in range(0,b4): l.append(random.choice("~!@#$%^&*()_+`[]{}|<>"))for i in range(0,b5): l.append(random.choice("~!@#$%^&*()_+`[]{}|<>ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijkmnopqrstuvwxyz")) #print(l)random.shuffle(l)#print(l)l2="".join(l)print("生成的字符串为:")print(l2)print("\n")print("请复制上述字符串并注意记录。")print("请按任意键退出!")x=input()#if __name__=='__main__':#此处可以理解为固定格式 详细可查查__name__ __main__的具体意义