天天看點

各種語言随機數的産生方法

摘要:因為總是忘記怎麼生成随機數,要用的時候又花很多時間去搜尋,是以覺得可以總結一下,以後碰到了就可以節省一點時間。但是目前隻總結了Python和Java,以後有時間再補充其他語言

一、Python中的随機數産生方法

參考自文章 ​​https://www.qycn.com/xzx/article/1293.html​​

方法1–random.random()

特點

該方法主要是使用random.random()生成一個[0,1)範圍内的随機實數(如0.39672211208814223),然後使用int()便可将其轉為整數,且根據需要可以 * N ,進而得到 [0,N) 範圍的整數

代碼

# 導入 random 子產品
import random

num = random.random()  # 傳回随機生成的一個實數,它在[0,1)範圍内
int_random = int(num * 10)  # 擷取[0,10)範圍内的整數      

方法2–random.randint(a,b)

特點

直接生成整數,且包括左右端點

代碼

# 導入 random 子產品
import random

num = random.randint(0, 10)  # 傳回随機生成的一個整數,它在[0,10]範圍内      

二、Java中的随機數産生方法

方法1–調用Math類的random()方法

特點

Math 類的 random() 方法沒有參數,它預設會傳回[0,1)範圍内的double 類型随機數,即 0<=随機數<1.0。

代碼

String chars = "abcdefghijklmnopqrstuvwxyz";
System.out.println(chars.charAt((int)(Math.random() * 26)));      

方法2–使用Random類

特點

Random 類提供了豐富的随機數生成方法,可以産生 boolean、int、long、float、byte 數組以及 double 類型的随機數

需要先構造一個Random類的執行個體,然後調用方法,構造方法有兩種:

  • Random():該構造方法使用一個和目前系統時間對應的數字作為種子數,然後使用這個種子數構造 Random 對象。
  • Random(long seed):使用單個 long 類型的參數建立一個新的随機數生成器

一般第一種就夠用了_

代碼

沒有代碼,具體方法如下: