zoukankan      html  css  js  c++  java
  • python 生成随机数

    import random
    import string
    import time
    from datetime import date,timedelta
    class randoms():
        # 获取26个大小写字母
        letters = string.ascii_letters
        # 获取26个小写字母
        Lowercase_letters = string.ascii_lowercase
        # 获取26个大写字母
        Capital = string.ascii_uppercase
        # 获取阿拉伯数字
        digits = string.digits

    1,随机生成指定位数的数字字母组合

        def code(self):
            # s是小写字母和数字的集合
            s = randoms.Lowercase_letters+randoms.digits
            #生成28位小写和数字的集合,并将列表转字符串
            code=''.join(random.sample(s,28))
            print('随机code:%s'%code)
            return code

    或者

    from datetime import date,timedelta
        def r_string(self):#生成随机字符串
            data="1234567890zxcvbnmlkjhgfdsaqwertyuiop"
            #用时间来做随机播种
            random.seed(time.time())
            #随机选取数据
            sa=[]
            for i in range(20):
                sa.append(random.choice(data))
            salt="gp_"+''.join(sa)
            print(salt)
            # return salt

    2,随机生成不包含某些字母或数字的字符

        def tax_code(self):
            list_1=['I','O','Z','S','V']
            list_2=[]
            for j  in  randoms().Capital:
                if j not in list_1:
                    list_2.append(j)
            s =''.join(list_2)  + randoms().digits
            tax_code=''.join(random.sample(s,18))
            print('随机税号:%s'%tax_code)
            return tax_code

    3,生成随机手机号,详见https://blog.csdn.net/z5622139/article/details/79197089

        def telephone(self):
            # 第二位数字
            second = [3, 4, 5, 7, 8][random.randint(0, 4)]
            # 第三位数字
            third = {
                3: random.randint(0, 9),
                4: [5, 7, 9][random.randint(0, 2)],
                5: [i for i in range(10) if i != 4][random.randint(0, 8)],
                7: [i for i in range(10) if i not in [4, 9]][random.randint(0, 7)],
                8: random.randint(0, 9),
            }[second]
            # 最后八位数字
            suffix = random.randint(10000000, 99999999)
    
            # 拼接手机号
            telephone="1{}{}{}".format(second, third, suffix)
            print('手机号:%s'%telephone)
            return telephone

    生成随机手机号方法2,详见https://www.cnblogs.com/jiuyigirl/p/7144725.html

        def create_telephone(self):
            telephone=random.choice(['139', '188', '185', '136', '158', '151']) + "".join(
                random.choice("0123456789") for i in range(8))
            print(telephone)
            return telephone

    函数使用补充说明

    1,random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串,使用如下,详见https://www.cnblogs.com/jiuyigirl/p/7144725.html

    random.random()    用于生成一个随机浮点数:range[0.0,1.0)

    random.uniform(a,b)    用于生成一个指定范围内的随机浮点数,a,b为上下限,只要a!=b,就会生成介于两者之间的一个浮点数,若a=b,则生成的浮点数就是a

    random.randint(a,b)    用于生成一个指定范围内的整数,a为下限,b为上限,生成的随机整数a<=n<=b;若a=b,则n=a;若a>b,报错

    random.randrange([start], stop [,step])    从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1

    random.choice(sequence)    从序列中获取一个随机元素,参数sequence表示一个有序类型,并不是一种特定类型,泛指list,tuple,字符串等

    random.shuffle(x[,random])    用于将一个列表中的元素打乱

    random.sample(sequence,k)    从指定序列中随机获取k个元素作为一个片段返回,sample函数不会修改原有序列

    2,Python中有join()和os.path.join()两个函数,具体作用如下:
        join():    连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串
        os.path.join():  将多个路径组合后返回

  • 相关阅读:
    cpp 二进制文件读写
    中文词频统计
    文件方式实现完整的英文词频统计实例
    组合数据类型练习,英文词频统计实例上
    英文词频统计预备,组合数据类型练习
    凯撒密码、GDP格式化输出、99乘法表
    字符串基本操作
    条件、循环、函数定义 练习
    turtle库基础练习
    Python基础练习
  • 原文地址:https://www.cnblogs.com/xiaozeng6/p/10992215.html
Copyright © 2011-2022 走看看