Python随机生成密码

废话不说,直贴代码


# coding:utf-8

"""
    Author      : han
    Email       : oaixnah@163.com
    Time        : 2019-07-27 17:12
    Home Team   : Golden State Warriors
    随机生成 密码
    6位 ~ 20位
    三个等级
"""

import sys
import random
import string

def main(d='6', level='1'):
    """
    :param int d:           digit(密码位数)
    :param int level:       level(密码复杂度)
    :return:
    """
    digit = int(d)
    # 密码位数 6~20
    if not (6 <= digit <= 20):
        return '密码位数error'

    # 选择密码复杂度
    if level == '1':
        parents = string.digits
    elif level == '2':
        parents = ''.join((string.ascii_letters, string.digits))
    elif level == '3':
        parents = ''.join((string.ascii_letters, string.digits, '!@#$%^&*'))
    else:
        return '密码复杂度error'

    pwd = ''
    for i in range(digit):
        pwd = ''.join((pwd, random.choice(parents)))

    print('Password: ', pwd)

if __name__ == '__main__':
    a = sys.argv
    if len(a) == 3:
        main(a[1], a[2])
    else:
        print('Use: python produce_pwd.py num level')

https://github.com/oaixnah/pwd

上一篇:6-9 统计个位数字 (15 分)


下一篇:浙大版《Python 程序设计》题目集(函数题)第6章函数-3 使用函数统计指定数字的个数 (20 分)