importrandom
#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]) is
not'0'
:
return
value
defrandom_lower_str(self, count: int):
"""生成指定長度的隨機小寫字母字串
:param count: 長度
:return:
"""return self.__random_base
(count, self.lower)
defrandom_upper_str(self, count: int):
"""生成指定長度的隨機大寫字母字串
:param count: 長度
:return:
"""return self.__random_base
(count, self.upper)
defrandom_low_upp_str(self, count: int):
"""生成指定長度的隨機字母(大、小寫)字串
:param count: 長度
:return:
"""return self.__random_base
(count, self.lower_upper)
defrandom_low_upp_number_str(self, count: int):
"""生成指定長度的隨機字元(大小寫字母+數字)
:param count: 長度
:return:
"""return self.__random_base
(count, self.number_lower_upper)
defrandom_low_number_str(self, count: int):
"""生成指定長度的隨機字元(小寫字母+數字)
:param count: 長度
:return:
"""return self.__random_base
(count, self.number_lower)
defrandom_upp_number_str(self, count: int):
"""生成指定長度的隨機字元(大寫字母+數字)
:param count: 長度
:return:
"""return self.__random_base
(count, self.number_upper)
@staticmethod
defrandom_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('
', jar_random.random_ip())
輸出:
隨機數 偽隨機數
隨機數 偽隨機數 rand函式在產生隨機數前,需要系統提供的生成偽隨機數序列的種子,rand根據這個種子的值產生一系列隨機數。如果系統提供的種子沒有變化,每次呼叫rand函式生成的偽隨機數序列都是一樣的。srand unsigned seed 通過引數seed改變系統提供的種子值,從而可以使得每次呼...
隨機數生成 偽隨機數和真隨機數
c語言隨機數的生成,很隨機,又不隨機,比如像下面的程式 c語言生成隨機數的函式在stdlib.h庫中 include includeint main return 0 上面的 經過執行生成了 41 18467 6334 26500但是無論執行多好遍結果都是一樣的,隨機數並不隨機。這是因為rand 函...
隨機數 科普 真隨機數和偽隨機數
位元幣使用者很喜歡討論 非對稱加密 橢圓曲線 量子計算機 這類高深莫測的話題,然後再以一種非常莫名其妙的方式把幣弄丟,比如說 隨機 隨機很重要,對於位元幣這種密碼學電子貨幣來說,尤其重要。可惜社群內對於隨機的討論並不多,導致很多人缺乏正確的認識,因此,我們今天就和大家聊聊隨機。說到隨機,有兩個必須要...