一、随机数
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