+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2019-07(2)

2019-08(117)

2019-09(102)

2019-10(12)

2019-11(6)

【Python】随机数/随机值

发布于2020-09-16 06:22     阅读(448)     评论(0)     点赞(21)     收藏(5)


一、随机数

import random

# 1 生成m、n之间的随机整数
print(random.randint(10, 99))  # 75

# 2 生成m、n之间的随机浮点数
print(random.uniform(10, 99))  # 98.37125047276466

# 3 生成0-1之间的随机浮点数(可用作百分比)
print(random.random())  # 0.4887568365715589

 

 

二、随机值

生成指定长度的随机值
1、数字
2、小写字母
3、大小字母
4、小写+大写
5、字母(小、大)+数字
6、数字+小写
7、数字+大写
"""
-*- coding:utf-8 -*-
@Time   :2020/9/3 18:33
@Author :Jarvis
@File   :jar_random.py
@Version:1.0
"""
import random

"""
生成指定长度的随机值
1、数字
2、小写字母
3、大小字母
4、小写+大写
5、字母(小、大)+数字
6、数字+小写
7、数字+大写
"""


class JarRandom:
    NUMBER = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
    LOWER = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u',
             'v',
             'w', 'x', 'y', 'z']
    UPPER = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U',
             'V', 'W', 'X', 'Y', 'Z']
    LOWER_UPPER = LOWER + UPPER
    NUMBER_LOWER_UPPER = NUMBER + LOWER_UPPER
    NUMBER_LOWER = NUMBER + LOWER
    NUMBER_UPPER = NUMBER + UPPER

    def random_int_str(self, count: int, first: bool = False):
        """
        生成指定长度的随机数据字符串
        :param count: 长度
        :param first: 生成的数字字符串 首位是否可以为零
        :return: 字符串数字
        """
        if first:
            return self.__random_base(count, self.NUMBER)
        else:
            while True:
                value = self.__random_base(count, self.NUMBER)
                if str(value[0]) is not '0':
                    return value

    def random_lower_str(self, count: list):
        """
        生成指定长度的随机小写字母字符串
        :param count: 长度
        :return:
        """
        return self.__random_base(count, self.LOWER)

    def random_upper_str(self, count: list):
        """
        生成指定长度的随机大写字母字符串
        :param count: 长度
        :return:
        """
        return self.__random_base(count, self.UPPER)

    def random_low_upp_str(self, count: list):
        """
        生成指定长度的随机字母(大、小写)字符串
        :param count: 长度
        :return:
        """
        return self.__random_base(count, self.LOWER_UPPER)

    def random_low_upp_number_str(self, count: list):
        """
        生成指定长度的随机字符(大小写字母+数据)
        :param count: 长度
        :return:
        """
        return self.__random_base(count, self.NUMBER_LOWER_UPPER)

    def random_low_number_str(self, count: list):
        """
        生成指定长度的随机字符(小写字母+数字)
        :param count: 长度
        :return:
        """
        return self.__random_base(count, self.NUMBER_LOWER)

    def random_upp_number_str(self, count: list):
        """
        生成指定长度的随机字符(大写字母+数字)
        :param count: 长度
        :return:
        """
        return self.__random_base(count, self.NUMBER_UPPER)

    @staticmethod
    def __random_base(count: list, type):
        value = ''
        for c in range(count):
            value += str(type[random.randint(0, len(type) - 1)])
        return value


if __name__ == '__main__':
    jar_random = JarRandom()
    print('数字:', jar_random.random_int_str(100))
    print('小写:', jar_random.random_lower_str(100))
    print('大写:', jar_random.random_upper_str(100))
    print('小写+大写:', jar_random.random_low_upp_str(100))
    print('小写+大写+数字:', jar_random.random_low_upp_number_str(100))
    print('小写+数字:', jar_random.random_low_number_str(100))
    print('大写+数字:', jar_random.random_upp_number_str(100))

 

输出:

数字: 2311096645407908131945600122176296983213860552402568807965300069452990896775908701995407406928002495
小写: nurmkkoqjryrdjvuraextxczdvmemuoemsekigowmyffedidzzjbnbfstryoawfyevrjsgzckbpgeqngacmpxzuwgxilylmcftuz
大写: NDXPDWHVMJOPRWHBQYGTZMVSBGZHPXEQGEZDLWKCNNTQBFLMUNAFBZOWOWBZAOIIVDFHTJOGMNPABXMYQBUYWKIZLWCJQSQLURZQ
小写+大写: sGBrOPpiEnSsajvHecvmuPnPlOELjtXkDVdSMemwApaACyklmFaJpVXMabAzkgVhnWrBxUWGTLsudMcXCPagHmtHHKuilzAFpwJR
小写+大写+数字: Ny4Nzs9TwhxBA7hJ5j28cOPSMpsHQyg4SniawKNKL6KiwAtulX93JHknsEJAXjqyLT4zgtzieC4BrTT2iMzvYkmjAKbgG1wnT2vu
小写+数字: 4t1vjq8ev4z5el917ryn6mlowf2g2j5axzwtfkvfgiqqax67yec07bhcps0kdprr41tbt98ilnpi6pnxudhzyvz5y28yi60n19yo
大写+数字: 22857MXCEC3SM3HJ4U4SZ4LXRSG2XNTVV23JBLKGT30WKQXXC5BGY5DIHPATX6WSO15C8D6VT1XVGDQX4OMM3YBY4QDEQGLW7POD

 

原文链接:https://www.cnblogs.com/danhuai/p/13448651.html



所属网站分类: 技术文章 > 博客

作者:djjdf

链接: https://www.pythonheidong.com/blog/article/525785/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

21 0
收藏该文
已收藏

评论内容:(最多支持255个字符)