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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

關(guān)于用random生成偽隨機(jī)數(shù)的一個(gè)手筆

2019-11-14 13:48:15
字體:
供稿:網(wǎng)友

  我在想還要不要寫什么文字。確實(shí)不需要太多的文字描述吧。

  前奏插一個(gè)小話題,之前在網(wǎng)上看到這樣的冷笑話(有圖的),一個(gè)程序猿調(diào)試個(gè)程序,早上懷疑某某地方的錯(cuò)誤,下午懷疑某某地方的錯(cuò)誤,晚上懷疑某某地方可能錯(cuò)了,睡覺了還是輾轉(zhuǎn)反側(cè)難以入眠。第二天早上,再看看代碼的時(shí)候,無意中找到了bug,漏下了逗號(hào)“,“,哈哈冷笑話。

  我這次也是疏忽了。在一個(gè)網(wǎng)站的項(xiàng)目中,用random去生成隨機(jī)數(shù),作為上傳文件的名稱。當(dāng)然在需要用戶上傳的文件中是不容易遇到這個(gè)bug的。但是在做爬蟲下載文件也用這個(gè)random生成隨機(jī)數(shù)的話就很可能遇到這個(gè)bug了。因?yàn)槲覀兪怯卯?dāng)前時(shí)間的毫秒去種子的。這里有個(gè)致命的誤區(qū):以為毫秒很小,能產(chǎn)生不相同的種子。但是毫秒雖小,但是程序是高速運(yùn)轉(zhuǎn)的,高速到不可以思議,實(shí)際上在循環(huán)中產(chǎn)生的種子還是相同的。這一點(diǎn)我忽略了。

  描述結(jié)束,上圖:

 

 

代碼特寫(注意產(chǎn)生隨機(jī)數(shù)的方法):

 

 

結(jié)果:產(chǎn)生的隨機(jī)數(shù)的重復(fù)率是很高的,基本上是能連續(xù)重復(fù)三四個(gè)。我猜想是因?yàn)橐缓撩氤绦蚰茏邆€(gè)過程三四遍。

 

 

我們換另一種測試方式,結(jié)果不要重復(fù),在重復(fù)的情況下,就進(jìn)入循環(huán)生成隨機(jī)數(shù)。結(jié)果是生成了999個(gè)之后就進(jìn)入死循環(huán)中了......

 

 

最后,我們修改了生成隨機(jī)數(shù)的方法,確保在循環(huán)中每次random的種子是不相同的。it works !!!

 

 

我們?cè)侔蜒h(huán)去掉,發(fā)現(xiàn),在不需要循環(huán)的情況下,一次性也能產(chǎn)生 10000 個(gè)不相同的隨機(jī)數(shù):

 

 

  原創(chuàng):小明

  Email:weimingyou@126.com

  Date:2015/11/06

  原文鏈接:小明博客園-《關(guān)于用 random 生成偽隨機(jī)數(shù)的一個(gè)手筆》


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 台北市| 乐平市| 社会| 新乐市| 封丘县| 阿合奇县| 平南县| 隆化县| 阜南县| 边坝县| 航空| 松江区| 钟山县| 万年县| 黄山市| 屏东县| 喀喇| 息烽县| 井冈山市| 蕲春县| 西畴县| 株洲市| 伊春市| 浦县| 隆回县| 海丰县| 天气| 秦皇岛市| 西峡县| 监利县| 绿春县| 龙州县| 滨海县| 深州市| 清镇市| 云阳县| 绥德县| 许昌县| 蒲江县| 沂源县| 永安市|