隨機數python
❶ 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裡面如何生成隨機數
import ranodm
random.random() #生成0-1之間的隨機浮點數
random.randint(1,10) #生成1-10之間的整數隨機數
❸ python產生1到100的隨機數是多少
python產生1到100的隨機數是機的「提示」可以簡單地從一系列預制提示中隨機選擇,如果有5個預制提示,則可以在1-5之間選擇一個隨機數。
如果是為了得到隨機的單個數,多考慮random模塊;如果是為了得到隨機小數或者整數的矩陣,就多考慮numpy中的random函數,對於random模塊的函數調用方法的記憶,可以多從它本身的英譯出發。
數據分析
1、返回a與b之間的隨機浮點數N,范圍為[a,b]如果a的值小於b的值,則生成的隨機浮點數N的取值范圍為a<=N<=b;如果a的值大於b的值,則生成的隨機浮點數N的取值范圍為b<=N<=a。
2、返回一個隨機的整數N,N的取值范圍為a<=N<=b。需要注意的是,a和b的取值必須為整數,並且a的值一定要小於b的值。
❹ python隨機數如何求和
python隨機數求和的方法:
1、使用「import random」導入random模塊
2、使用「random.randint()」可以產生隨機數。用for循環生成多個隨機數,然後相加就可以了
執行結果如下:
更多Python知識,請關註:Python自學網!!
❺ 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生成隨機數的幾種方法
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