【Python】随机数/随机值
一、随机数
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
二、随机值
""" -*- coding:utf-8 -*- @Time :2020/9/3 18:33 @Author :Jarvis @File :jar_random_util.py @Version:1.0 """ import random """ 一、生成指定长度的随机值 1、数字 2、小写字母 3、大小字母 4、小写+大写 5、字母(小、大)+数字 6、数字+小写 7、数字+大写 二、生成随机IP地址 """ class JarRandomUtil: 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]) != '0': return value def random_lower_str(self, count: int): """ 生成指定长度的随机小写字母字符串 :param count: 长度 :return: """ return self.__random_base(count, self.LOWER) def random_upper_str(self, count: int): """ 生成指定长度的随机大写字母字符串 :param count: 长度 :return: """ return self.__random_base(count, self.UPPER) def random_low_upp_str(self, count: int): """ 生成指定长度的随机字母(大、小写)字符串 :param count: 长度 :return: """ return self.__random_base(count, self.LOWER_UPPER) def random_low_upp_number_str(self, count: int): """ 生成指定长度的随机字符(大小写字母+数字) :param count: 长度 :return: """ return self.__random_base(count, self.NUMBER_LOWER_UPPER) def random_low_number_str(self, count: int): """ 生成指定长度的随机字符(小写字母+数字) :param count: 长度 :return: """ return self.__random_base(count, self.NUMBER_LOWER) def random_upp_number_str(self, count: int): """ 生成指定长度的随机字符(大写字母+数字) :param count: 长度 :return: """ return self.__random_base(count, self.NUMBER_UPPER) @staticmethod def random_ip(): """ 随机IP地址 :return: """ ip = '{}.{}.{}.{}'.format( random.randint(1, 223), random.randint(0, 255), random.randint(0, 255), random.randint(0, 255) ) return ip @staticmethod def __random_base(count: int, type): value = '' for c in range(count): value += str(type[random.randint(0, len(type) - 1)]) return value if __name__ == '__main__': jar_random = JarRandomUtil() 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)) print('随机IP地址:', jar_random.random_ip())
输出:
数字: 1105240301665967443698994792367098726849957022371657845601747093378909885603870223059422134027806617
小写: izoiinfmddmkqjfuvqxqfjgquaamldjdvptolvkjddflehxtgdhnitcamvodynoabgbqgrycofyeudzayqyqwwaeajlermmjcvet
大写: HOCUHEWXUDSMBIYMYSXWWRPBIKKRVLGIREJGCSGAMUWYVARVKDVEWVZEJWBJCWGSTQIUNSDIYSRKBZPWJWQMGERRJTVNTPSCBSZQ
小写+大写: jwsrTpVmTFtezTMPuREhzyAtrUNjkFyTVHGyYclpNOTVXAgLFEtjQJAURAqbzdDJisCuNEFXWAkircrweuVBoxhqUsTEHSQZngFF
小写+大写+数字: nasObkkwdLc2t3GbO9b3sy1V2aGXG2C4n5hpEWdpHWNOBUbYODzi6OE31u27CRRogqTFdIDldhdhW1HIpHAHh6CxRtYcYqbePnit
小写+数字: 0i1eson9d6iodjqiss5lb22mkmld0c0xx71vobpbai734f9k6x21cj6p3y2uivwo3ne1oj2ofdzriq71gu09vz21fpeb7rz5s4fa
大写+数字: CG2SXDP28SZ77WSNGFX3DGUGX7ZXCDTTXTLDQFH435B0ZB85VF4KYB6WELADR6BKRL0YQZ0RI14PGCLWW555E98RN3FZV6FB2549
随机IP地址: 130.32.174.114