#導入隨機數(shù)模塊
創(chuàng)新互聯(lián)是由多位在大型網(wǎng)絡(luò)公司、廣告設(shè)計公司的優(yōu)秀設(shè)計人員和策劃人員組成的一個具有豐富經(jīng)驗的團隊,其中包括網(wǎng)站策劃、網(wǎng)頁美工、網(wǎng)站程序員、網(wǎng)頁設(shè)計師、平面廣告設(shè)計師、網(wǎng)絡(luò)營銷人員及形象策劃。承接:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)站改版、網(wǎng)頁設(shè)計制作、網(wǎng)站建設(shè)與維護、網(wǎng)絡(luò)推廣、數(shù)據(jù)庫開發(fā),以高性價比制作企業(yè)網(wǎng)站、行業(yè)門戶平臺等全方位的服務。
import random
#定義一個空的數(shù)組,用作取樣表
reList = []
#為取樣表賦值,1~100
for i in range(1,101):
reList.append(i)
#使用sample方法,取3個隨機數(shù)
res = random.sample(reList,k=3)
print("三個隨機數(shù)是:{}".format(res))
第一步:
我分析如果從一堆數(shù)里隨機抽取幾個,并且按原來的順序輸出的話,那么至少要隨機兩次才能完成,第一次隨機的值是確定隨機幾個數(shù),第二次隨機是確定隨機的值。
第二步:
隨機抽取幾個可以用random.randint(1,n)這個函數(shù)來實現(xiàn),這個n代表所要隨機列表的長度。
第三步:
上一步出來一個數(shù)決定此次隨機出幾個值出來,現(xiàn)在假定是n,再次隨機就是從列表里隨機抽取n個值這個可以用random.sample(dict,n)這個方法實現(xiàn),這個函數(shù)可以傳入一個字典,和一個數(shù)字返回一個列表。
第四步:
得到的結(jié)果需要按原來的順序輸出,那么存儲就需要考慮用dict了,因為字典的k-v特性可以實現(xiàn)找到原來的順序,我具體的實現(xiàn)如下:
import?random
#random_number(a)函數(shù)的功能傳入一個數(shù),返回1到這個數(shù)的隨機數(shù)
def?random_number(a):
return?random.randint(1,a)
#print(random_number(4))
#random_list(a,b)函數(shù)的功能,傳入一個字典a,和一個數(shù)值b,
#1=b=a的長度,返回一個擁有b的個數(shù)值是a中的key值的list
def?random_list(a,b):
return?random.sample(list(a),b)
a={1:'a',2:'j',3:'g',4:'h',5:'k',6:'i',7:'l',8:'f',9:'v',10:'b',11:2,12:5,13:'x'}
b=len(a)
#print(random_list(a,b))
#random_dictvalue函數(shù)的功能,傳入一個字典a和一個列表b,返回以b為key,a中對應的value的值
def?random_dictvalue(a,b):
b.sort()
for?i?in?b:
print(a.get(i),end='?')
print(random_dictvalue(a,random_list(a,random_number(b))))
#??result
================================?RESTART?================================
a?f?None
================================?RESTART?================================
g?i?None
================================?RESTART?================================
a?j?h?l?v?b?2?5?x?None
python隨機選取n個不同的數(shù)字的方法:
1、使用“import random”導入random包
2、通過for語句循環(huán)執(zhí)行n次“random.randint()”語句獲取n個隨機數(shù)并將隨機數(shù)輸入到列表中
n=10示例如下:
3、用set函數(shù)去重就可以了
完整代碼:
更多Python知識,請關(guān)注:Python自學網(wǎng)!!