国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python編程實現生成特定范圍內不重復多個隨機數的2種方法

2020-02-23 04:34:27
字體:
來源:轉載
供稿:網友

本文實例講述了Python編程實現生成特定范圍內不重復多個隨機數的2種方法。分享給大家供大家參考,具體如下:

在近期進行的一個實驗中,需要將數據按一定比例隨機分割為兩個部分。這一問題的核心其實就是產生不重復隨機數的問題。首先想到的遞歸的方法,然后才發現Python中居然已經提供了此方法的函數,可以直接使用。具體代碼如下:

#生成某區間內不重復的N個隨機數的方法import random;#1、利用遞歸生成resultList=[];#用于存放結果的ListA=1; #最小隨機數B=10 #最大隨機數COUNT=10#生成隨機數的遞歸數學,參數counter表示當前準備要生成的第幾個有效隨機數def generateRand(counter):  tempInt=random.randint(A,B); # 生成一個范圍內的臨時隨機數,  if(counter<=COUNT): # 先看隨機數的總個數是不是夠了,如果不夠    if(tempInt not in resultList): # 再檢查當前已經生成的臨時隨機數是不是已經存在,如果不存在      resultList.append(tempInt); #則將其追加到結果List中      counter+=1;# 然后將表示有效結果的個數加1. 請注意這里,如果臨時隨機數已經存在,則此if不成立,那么將直接執行16行,counter不用再加1    generateRand(counter); # 不管上面的if是否成立,都要遞歸。如果上面的臨時隨機數有效,則這里的conter會加1,如果上面的臨時隨機數已經存在了,則需要重新再生成一次隨機數,counter不能變化generateRand(1);#調用遞歸函數,并給當前要生成的有效隨機數的個序號置為1,因為要從第一個開始嘛print(resultList)# 打印結果#2、利用Python中的randomw.sample()函數實現resultList=random.sample(range(A,B+1),COUNT); # sample(x,y)函數的作用是從序列x中,隨機選擇y個不重復的元素。上面的方法寫了那么多,其實Python一句話就完成了。print(resultList)# 打印結果

結果:

PS:這里再為大家提供兩款相關在線工具供大家參考使用:

在線隨機數字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu

高強度密碼生成器:
http://tools.jb51.net/password/CreateStrongPassword

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桐乡市| 泸州市| 韩城市| 琼中| 朝阳区| 天津市| 淅川县| 泽州县| 青州市| 会同县| 轮台县| 临漳县| 阳原县| 苏尼特左旗| 库车县| 炉霍县| 和政县| 龙山县| 龙井市| 海宁市| 奇台县| 法库县| 东平县| 屯留县| 土默特左旗| 闽侯县| 宜都市| 许昌县| 六枝特区| 两当县| 那曲县| 安多县| 马关县| 宜良县| 九台市| 蓬溪县| 千阳县| 河津市| 夏邑县| 拉孜县| 达孜县|