python模块--random

发布时间:2019-07-16 10:09:38编辑:auto阅读(1315)

    random模块                                                                                                                                                 

        random顾名思义,用于生成随机字符串,具体用法如下

    import random
    lis = [1,2,3,4,5,6,7,8,9,10]
    
    #随机生成浮点数
    print(random.random())          #随机返回0~1之间的浮点数
    print(random.uniform(1,10))     #随机返回1~10之间的浮点数
    
    #随机生成整数
    print(random.randint(1,10))         #随机生成1~10之间的整数
    print(random.randrange(0,10,2))     #随机生成0~10之间的偶数
    print(random.randrange(1,10,2))     #随机生成1~10之间的基数
    
    #操作序列、字符串
    ##从序列、字符串中随机返回一个元素
    print(random.choice(lis))
    print(random.choice('abcdefg'))
    
    ##随机截取序列、字符串中指定长度片段
    print(random.sample(lis,2))
    print(random.sample('abcdefg',2))
    
    ##打乱一个序列
    random.shuffle(lis)
    print(lis)

    打印结果如下:

    0.47626693393991737
    4.0844448042717225
    8
    8
    1
    4
    g
    [9, 4]
    ['f', 'a']
    [7, 6, 1, 2, 10, 3, 4, 8, 5, 9]

    例子:

    #-*- coding:utf-8 -*-
    #随机密码生成器,必须含有大小写字母、数字和符号
    '''
    (ASCII码)
    数字:[48,57]
    小写字母:[97,122]
    大写字母:[65,90]
    符号:[33,47]
    '''
    import random
    pass_num = int(input("请输入密码长度:"))
    my_num = pass_num-4
    mast_list = []      #用于随机收集大小写字母、数字和符号的ASCII码各一个
    ascii_list = []     #用于随机收集剩下的密码字符对应的ASCII码
    passwd_list = []    #用于收集由ASCII码转换后的字符
    number = range(48,58)
    s_letter = range(97,123)
    b_letter = range(65,91)
    symbol = range(35,38)
    
    def creat_mast(lis):
        a = random.choice(lis)
        mast_list.append(a)
    
    creat_mast(number)
    creat_mast(s_letter)
    creat_mast(b_letter)
    creat_mast(symbol)
    random.shuffle(mast_list)
    
    def creat_list(lis):
        for i in lis:
            ascii_list.append(i)
    
    creat_list(number)
    creat_list(s_letter)
    creat_list(b_letter)
    creat_list(symbol)
    
    ascii_list = random.sample(ascii_list,my_num) + mast_list
    
    for i in ascii_list:
        a = chr(i)
        passwd_list.append(a)
    
    my_pass = "".join(passwd_list)
    print('随机密码为:%s'%(my_pass))


关键字