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