天天看点

各种语言随机数的产生方法

摘要:因为总是忘记怎么生成随机数,要用的时候又花很多时间去搜索,所以觉得可以总结一下,以后碰到了就可以节省一点时间。但是目前只总结了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 类型的参数创建一个新的随机数生成器

一般第一种就够用了_

代码

没有代码,具体方法如下: