#!/usr/bin/python # -*- coding: utf-8 -*- """ Author: Linxy -- <592901071@qq.com> Purpose: "此程序用于生成指定位数的同时包涵大小写字母、数字0-9、及特殊符号~!@#$%^&*()_+`[]{}|<>的字符串" Created: 2017/6/3 """ import random import sys print("此程序用于生成指定位数的同时包涵大小写字母、数字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//4 b1=random.randint(1,a1) b2=random.randint(1,a1) b3=random.randint(1,a1) b4=random.randint(1,a1) b5=n1-b1-b2-b3-b4 for 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__的具体意义
原文地址:http://4830403.blog.51cto.com/4820403/1948332