CoffeeScript 生成隨機(jī)數(shù)

2022-06-29 17:04 更新

生成隨機(jī)數(shù)

問題

你需要生成在一定范圍內(nèi)的隨機(jī)數(shù)。

解決方案

使用JavaScript的Math.random()來(lái)獲得浮點(diǎn)數(shù),滿足0<=X<1.0。使用乘法和Math.floor得到在一定范圍內(nèi)的數(shù)字。

probability = Math.random()
0.0 <= probability < 1.0
# => true

# 注意百分位數(shù)不會(huì)達(dá)到 100。從 0100 的范圍實(shí)際上是 101 的跨度。
percentile = Math.floor(Math.random() * 100)
0 <= percentile < 100
# => true

dice = Math.floor(Math.random() * 6) + 1
1 <= dice <= 6
# => true

max = 42
min = -13
range = Math.random() * (max - min) + min
-13 <= range < 42
# => true

討論

對(duì)于JavaScript來(lái)說(shuō),它更直接更快。

需要注意到JavaScript的Math.random()不能通過(guò)發(fā)生器生成隨機(jī)數(shù)種子來(lái)得到特定值。詳情可參考產(chǎn)生可預(yù)測(cè)的隨機(jī)數(shù)。

產(chǎn)生一個(gè)從0到n(不包括在內(nèi))的數(shù),乘以n。
產(chǎn)生一個(gè)從1到n(包含在內(nèi))的數(shù),乘以n然后加上1。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)