zoukankan      html  css  js  c++  java
  • 五种方法实现python3-随机生成10位包含数字和字母的密码

    方法一:
    知识点:random.sample(sequence, k) 从指定序列中随机获取指定长度的片断

    import random,string
    num=string.ascii_letters+string.digits
    print ( "".join(random.sample(num,10)) )
    

    方法二:
    知识点:random.choice(sequence) 从序列中获取一个随机元素

    import random,string
    passwd=""
    num=string.ascii_letters+string.digits
    for i in range(10):
       passwd+=random.choice(num)   
    print (passwd)
    

    方法三:
    知识点:random.randint(a,b) 用于生成一个指定范围内的整数

    import random,string
    passwd = []
    letters = string.ascii_letters + string.digits
    length = len(letters)
    for i in range(10):
        letter = letters[random.randint(0,length - 1)]
        passwd.append(letter)
    print("".join(passwd))
    

    方法四:
    列表、random.choice()、 random.randint()

    import random
    import string
    passwd = []
    for i in range(10):
        if random.randint(0,1):
            letter = random.choice(string.ascii_letters)
            passwd.append(letter)
        else:
            letter = random.choice(string.digits)
            passwd.append(letter)
    
    print("".join(passwd))
    

    方法五:
    知识点:推导列表、random.choice()、 random.randint()

    import random,string
    

    推导列表1:

    print ("".join([random.choice(string.ascii_letters)
    	if random.randint(0,1)
    		else random.choice(string.digits)
        for i in range(10)]))
    

    推导列表2:

    print ([random.choice(string.ascii_letters+string.digits)
        for i in range(10)])
    
  • 相关阅读:
    SQL经常使用语法
    【LeetCode】Generate Parentheses 解题报告
    Linux进程间通信(IPC)
    Android菜单menu控件大全
    Android入门常见问题
    c++ struct与class的差别
    hdu 2011 多项式求和
    Android安全机制介绍
    HDOJ 4003 Find Metal Mineral
    HDU 2845 Beans (两次线性dp)
  • 原文地址:https://www.cnblogs.com/xxpythonxx/p/12589486.html
Copyright © 2011-2022 走看看