1. 程式人生 > 實用技巧 >python學習:隨機數的產生,隨機數拼接字在指令碼中的應用

python學習:隨機數的產生,隨機數拼接字在指令碼中的應用

學習random的時候,看到一份表格覺得不錯,轉載記錄到自己的筆記中:

random以及它們在numpy.random中對應的函式應該會很有幫助:

注意:NumPy專門用於構建和操作大型多維陣列。如果您只需要一個值,那麼random就足夠了,可能還會更快。對於小序列,random也可能更快,因為NumPy會帶來了一些額外開銷。

我用到的是隨機數最簡單的幾個功能:

在Python中用於生成隨機數的模組是random,在使用前需要import。
random.random():生成一個0-1之間的隨機浮點數
random.randint(a,b):生成[a,b]之間的整數,包含a,b
random.uniform(a,b):生成[a,b]之間的浮點數
random.choice(sequence):從特定序列的中隨機取一個元素,這裡的序列可以是字元列表,元組等。
例如:生成16位的隨機數:
import random
str = ''
a=str.join(random.choice("0123456789") for i in range(16))
print(a)

為了寫卡壓測,用到拼接字和隨機數,用到我的腳本里是這樣實現的:
if__name__=="__main__"orTrue:
fromtaskimportTask #次數呼叫為自定義函式
foriinrange(100):
SET=Task(cz_setcmds)
SET.execute()
ifSET.is_success:
IMSI=random.randint(460954110612179,460954110612199)
str=''
ran1=str.join(random.choice("0123456789")forjinrange(32))
iccid=str.join(random.choice("0123456789")forjinrange(20))
#print(IMSI,ran1,iccid)
write_card=[
Args(request='AT^HVSSSINFO="{0}",3,"{1}","{2}"'.format(IMSI,ran1,ran1),regex="^\r\nOK\r\n",stop_character="OK",timeout=15,can_skip=False),
Args(request='AT^VSIMICCID={}'.format(iccid),regex="^\r\nOK\r\n",stop_character="OK",timeout=15,can_skip=False),
Args(request="AT^SIMSEL=0",regex="^\r\nOK\r\n",can_skip=False),
Args(request="AT^HVSST=11,1",regex="^\r\nOK\r\n",can_skip=False),
Args(request="AT+CIMI",regex="^\r\n{}\r\n\r\nOK\r\n".format(IMSI),can_skip=False),
Args(request="AT^VSIMICCID?",regex='^\r\n\^VSIMICCID:"{}"\r\nOK\r\n'.format(iccid),can_skip=False),
Args(request="AT+CFUN=1,1",regex="^\r\nOK\r\n",delay=20,can_skip=False)
]
#print(write_card)
Task(write_card).execute()
print(i)