『壹』 python用什麼函數產生隨機數
在python中用於生成隨機數的模塊是random,在使用前需要import
random.random:
random.random():生成一個0-1之間的隨機浮點數.例:
[python] view plain
import random
print random.random()
# 0.87594424128
random.uniform
random.uniform(a, b):生成[a,b]之間的浮點數.例:
[python] view plain
import random
print random.uniform(0, 10)
# 5.27462570463
random.ranint
random.randint(a, b):生成[a,b]之間的整數.例:
[python] view plain
import random
print random.randint(0, 10)
# 8
random.randrange
random.randrange(a, b, step):在指定的集合[a,b)中,以step為基數隨機取一個數.如random.randrange(0, 20, 2),相當於從[0,2,4,6,...,18]中隨機取一個.例:
[python] view plain
import random
print random.randrange(0, 20, 2)
# 14
『貳』 python裡面如何生成隨機數
import
random
testlist
=
[1,3,4,5]
a,b
=
1,5
random.random()
生成0至1之間的隨機浮點數,結果大於等於0.0,小於1.0
random.randint(a,b)
生成1至5之間的隨機整數,結果大於等於1,小於等於5,a必須小於等於b
random.choice(testlist)從testlist中隨機挑選一個數,也可以是元組、字元串
『叄』 python中的隨機數是怎麼實現的
PYTHON中的偽隨機數發生器用的是梅森旋轉演算法。
梅森旋轉演算法(Mersenne twister)是一個偽隨機數發生演算法。由松本真和西村拓士在1997年開發,基於有限二進制欄位上的矩陣線性遞歸。可以快速產生高質量的偽隨機數,修正了古典隨機數發生演算法的很多缺陷。
梅森旋轉演算法是R、Python、Ruby、IDL、Free Pascal、PHP、Maple、Matlab、GNU多重精度運算庫和GSL的默認偽隨機數產生器。從C++11開始,C++也可以使用這種演算法。
整個演算法主要分為三個階段:獲得基礎的梅森旋轉鏈;對於旋轉鏈進行旋轉演算法;對於旋轉演算法所得的結果進行處理。
演算法實現的過程中,參數的選取取決於梅森素數,故此得名。
梅森素數由梅森數而來。所謂梅森數,是指形如2↑p-1的一類數,其中指數p是素數,常記為Mp 。如果梅森數是素數,就稱為梅森素數。
例如4-1=3,8-1=7,16-1=15(不是素數),32-1=31,64-1=63(不是素數)等等。
『肆』 python如何生成隨機數、隨機字元、隨機字元串
import random
import string
# 返回給定數量的隨機數列表
lst = random.sample(source, n)
參數source:從source中隨機選擇,n為數量
下面字元串可供選擇
問題簡單了
【生成n個隨機數】
numlst = [int(i) for i in random.sample(string.digits, n)]
numlst為隨機數整形列表
【生成n個隨機字元】
strlst = [i for i in random.sample(string.ascii_letters, n)]
返回一個隨機字元列表strlst。
strlst = [i for i in random.sample(string.ascii_letters, n)]
把隨機字元連接起來就可以了
print(''.join(strlst))
如果需要生成的隨機字元、字元串帶有符號,則使用string.printable作為參數source傳遞給random.sample(source, n)中即可。
望採納!
『伍』 怎麼用python生成隨機數
在Python中,random模塊用於生成隨機數。下面介紹下random模塊中常用的幾個函數
打開我們python的ide
在打開的shell中,首先需要導入random庫,才可以使用random中的方法,首先介紹下應用最多的函數,random.random(),可以生成一個0到1的隨機符點數
random.uniform(a,b)函數,生成指定范圍內的隨機符點數,如下圖
random.randint(a,b)函數,生成一個指定范圍內的整數,如下圖
random.choice(sqe)函數,從sqe序列中得到一個隨機元素,如下圖,序列元素可以包含很多種類,集合,列表,甚至元組都可以作為參數進行傳遞
『陸』 Python 中隨機數random模塊的常用使用方法介紹
Python中random模塊包含了生成隨機數的常用函數,random模塊不能唯帶孝直接訪問,需要導入random 模指稿塊(import random)。常見的random函數包含如下幾個,( 我使用行譽的是jupyter notebook) 。
https://www.runoob.com/python/func-number-random.html
『柒』 python裡面如何生成隨機數
random模塊
隨機整數:random.randint(a,b):返回隨機整數x,a<=x<=b
random.randrange(start,stop,[,step]):返回一個范圍在(start,stop,step)之間的隨機整數,不包括結束值。
隨機實數:random.random( ):返回0到1之間的浮點數
random.uniform(a,b):返回指定范圍內的浮點數。
『捌』 用python生成隨機數的幾種方法
1 從給定參數的正態分布中生成隨機數
當考慮從正態分布中生成隨機數時,應當首先知道正態分布的均值和方差(標准差),有了這些,就可以調用python中現有的模塊和函數來生成隨機數了。這里調用了Numpy模塊中的random.normal函數,由於邏輯非參簡單,所有直接貼上代碼如下:
import numpy as np# 定義從正態分布中獲取隨機數的函數def get_normal_random_number(loc, scale): """ :param loc: 正態分布的均值 :param scale: 正態分布的標准差 :return:從正態分布中產生的隨機數 """ # 正態分布中的隨機數生成 number = np.random.normal(loc=loc, scale=scale) # 返回值 return number# 主模塊if __name__ == "__main__": # 函數調用 n = get_normal_random_number(loc=2, scale=2) # 列印結果 print(n) # 結果:3.275192443463058
2 從給定參數的均勻分布中獲取隨機數的函數
考慮從均勻分布中獲取隨機數的時候,要事先知道均勻分布的下界和上界,然後調用Numpy模塊的random.uniform函數生成隨機數。
import numpy as np# 定義從均勻分布中獲取隨機數的函數def get_uniform_random_number(low, high): """ :param low: 均勻分布的下界 :param high: 均勻分布的上界 :return: 從均勻分布中產生的隨機數 """ # 均勻分布的隨機數生成 number = np.random.uniform(low, high) # 返回值 return number# 主模塊if __name__ == "__main__": # 函數調用 n = get_uniform_random_number(low=2, high=4) # 列印結果 print(n) # 結果:2.4462417140153114
3 按照指定概率生成隨機數
有時候我們需要按照指定的概率生成隨機數,比如已知盒子中每種顏色的球的比例,猜測下一次取出的球的顏色。在這里介紹的問題和上面的例子相似,要求給定一個概率列表,從列表對應的數字列表或區間列表中生成隨機數,分兩部分討論。
3.1 按照指定概率從數字列表中隨機抽取數字
假設給定一個數字列表和一個與之對應的概率列表,兩個列表對應位置的元素組成的元組即表示該數字在數字列表中以多大的概率出現,那麼如何根據這些已知條件從數字列表中按概率抽取隨機數呢?在這里我們考慮用均勻分布來模擬概率,代碼如下:
import numpy as npimport random# 定義從均勻分布中獲取隨機數的函數def get_uniform_random_number(low, high): """ :param low: 均勻分布的下界 :param high: 均勻分布的上界 :return: 從均勻分布中產生的隨機數 """ # 均勻分布的隨機數生成 number = np.random.uniform(low, high) # 返回值 return number# 定義從一個數字列表中以一定的概率取出對應區間中數字的函數def get_number_by_pro(number_list, pro_list): """ :param number_list:數字列表 :param pro_list:數字對應的概率列表 :return:按概率從數字列表中抽取的數字 """ # 用均勻分布中的樣本值來模擬概率 x = random.uniform(0, 1) # 累積概率 cum_pro = 0.0 # 將可迭代對象打包成元組列表 for number, number_pro in zip(number_list, pro_list): cum_pro += number_pro if x < cum_pro: # 返回值 return number# 主模塊if __name__ == "__main__": # 數字列表 num_list = [1, 2, 3, 4, 5] # 對應的概率列表 pr_list = [0.1, 0.3, 0.1, 0.4, 0.1] # 函數調用 n = get_number_by_pro(number_list=num_list, pro_list=pr_list) # 列印結果 print(n) # 結果:1
3.2 按照指定概率從區間列表中的某個區間內生成隨機數
給定一個區間列表和一個與之對應的概率列表,兩個列表相應位置的元素組成的元組即表示某數字出現在某區間內的概率是多少,已知這些,我們如何生成隨機數呢?這里我們通過兩次使用均勻分布達到目的,代碼如下:
import numpy as npimport random# 定義從均勻分布中獲取隨機數的函數def get_uniform_random_number(low, high): """ :param low: 均勻分布的下界 :param high: 均勻分布的上界 :return: 從均勻分布中產生的隨機數 """ # 均勻分布的隨機數生成 number = np.random.uniform(low, high) # 返回值 return number# 定義從一個數字列表中以一定的概率取出對應區間中數字的函數def get_number_by_pro(number_list, pro_list): """ :param number_list:數字列表 :param pro_list:數字對應的概率列表 :return:按概率從數字列表中抽取的數字 """ # 用均勻分布中的樣本值來模擬概率 x = random.uniform(0, 1) # 累積概率 cum_pro = 0.0 # 將可迭代對象打包成元組列表 for number, number_pro in zip(number_list, pro_list): cum_pro += number_pro if x < cum_pro: # 從區間[number. number - 1]上隨機抽取一個值 num = get_uniform_random_number(number, number - 1) # 返回值 return num# 主模塊if __name__ == "__main__": # 數字列表 num_list = [1, 2, 3, 4, 5] # 對應的概率列表 pr_list = [0.1, 0.3, 0.1, 0.4, 0.1] # 函數調用 n = get_number_by_pro(number_list=num_list, pro_list=pr_list) # 列印結果 print(n) # 結果:3.49683787011193
『玖』 python用生成隨機數的方法
import random
random.randint(1,10) #取1~10之間隨機數。
『拾』 python 怎麼從集合中隨機數
使用random()函數,或者:
choice(seq) 從序列的元素中隨機挑選一個元素,比如random.choice(range(10)),從0到9中隨機挑選一個整數。
randrange ([start,] stop [,step]) 從指定范圍內,按指定基數遞增的集合中獲取一個隨機數,基數預設值為1
random() 隨機生成下一個實數,它在[0,1)范圍內。
seed([x]) 改變隨機數生成器的種子seed。如果你不了解其原理,你不必特別去設定seed,Python會幫你選擇seed。
shuffle(lst) 將序列的所有元素隨機排序
uniform(x, y) 隨機生成下一個實數,它在[x,y]范圍內。