Python3使用random生成随机数

本文介绍使用Python3中的random库生成随机数、随机小数、随机序列、随机字符串以及扑克洗牌等方法。

一、生成随机浮点数或小数

1、#生成0-1之间的浮点数

import random
rnd = random.random()
print(rnd)

返回

0.4116634571675989

2、#生成0-1之间的浮点数,2位精度

rnd = round(random.random(),2)
print(rnd)

返回

0.86

3、#生成[1,100]之间的浮点数;

rnd = random.uniform(1, 100)
print(rnd)

返回

40.46081911647691

4、#生成[1,100]之间的浮点数,2位精度

rnd = round(random.uniform(1, 100),2)
print(rnd)

返回

81.31

二、生成整数、奇数、偶数

1、#生成[1,100]之间的整数

rnd = random.randint(1, 100)
print(rnd)

返回

79

2、#生成[1,100]之间的整数,加百分号

rnd = str(random.randint(1, 100)) + "%"
print(rnd)

返回

87%

3、#生成[1,100]之间的奇数

rnd = random.randrange(1, 100, 2)
print(rnd)

返回

93

4、#生成[2,100]之间的偶数

rnd = random.randrange(2, 100, 2)
print(rnd)

返回

26

三、序列中随机取元素

#从序列中随机取一个元素
rnd = random.choice([‘剪刀‘, ‘石头‘, ‘布‘])
print(rnd)

返回

剪刀

四、生成随机字符串

#生成字母数字组成的32位密钥,来源 比特量化
rnd = ‘‘.join(random.sample(‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789‘,32))
print(rnd)

返回

43bFuQln6fkGjmH1OCE9aweLz08WTsIA

五、扑克洗牌

#扑克洗牌,来源 比特量化
poker = [‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,‘10‘,‘J‘,‘Q‘,‘K‘,‘A‘]
random.shuffle(poker)
print(poker)

返回

[‘9‘, ‘A‘, ‘10‘, ‘K‘, ‘Q‘, ‘3‘, ‘6‘, ‘J‘, ‘4‘, ‘7‘, ‘5‘, ‘8‘, ‘2‘]

原文地址:https://www.cnblogs.com/fangbei/p/python3-random.html

时间: 2024-08-29 00:27:19

Python3使用random生成随机数的相关文章

Random生成随机数重复的问题

一.Random生成随机数重复的问题 Random在生成随机数的时候,如果生成的时间非常短,那么很可能会出现生成的随机数重复的问题. 示例: static void Main(string[] args) { for (int i = 0; i < 10; i++) { Random random = new Random(); Console.WriteLine(random.Next(1, 100)); } Console.ReadKey(); } 输出如下: 解决方案:只使用一个Rando

【转载】python 模块 - random生成随机数模块

http://blog.csdn.net/pipisorry/article/details/39086463 随机数种子 要每次产生随机数相同就要设置种子,相同种子数的Random对象,相同次数生成的随机数字是完全相同的: random.seed(1) 这样random.randint(0,6, (4,5))每次都产生一样的4*5的随机矩阵 关于种子的介绍可参见[Java - 常用函数Random函数] Python标准库random模块 (生成随机数模块) random.random() r

Random 生成随机数

Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字. 相同种子数的Random对象,相同次数生成的随机数字是完全相同的.也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同.这点在生成多个随机数字时需要特别注意. 下面介绍一下Random类的使用,以及如何生成指定区间的随机数组以及实现程

python学习—random生成随机数

random.random()---随机生成0到1的小数 random.randint(x,y)---随机生成x到y的整数,闭区间,包含两端 random.uniform(a,b)---随机生成a到b的浮点数,闭区间,包含两端 使用随机数模块生成一个5到10之间的浮点数,输出到控制台import randoma1 = random.random()a2 = random.randint(5, 9)number = a2 + a1print(number) # 扩展:实现方式:random.uni

C# Random循环生成随机数重复问题解决方案

C# Random循环生成随机数重复问题解决方案1.当我们通过Random生成随机数时,习惯的写法如下: int a=new Random().Next(0,100); 然后生成一个数据数没有任何问题,但是代码修改如下 for(int i=0;i<1000;i++){ Console.WriteLine(new Random().Next(0,100)); } 问题:你会发现生成的随机数居然完全一样.肿么办呢? 2.解决:之所以会出现这样的情况是因为C#生成随机数和计算的时间有关系,如果生成太快

生成随机数(Random类)和获取用户输入(Scanner类)

生成指定范围内的随机数 Math.random() 生成随机数,随机数在0到1之间,类型是 double. public class randCase { public static void main(String[] args) { double rand = 0; for (int i = 0; i < 10; i++) { rand = Math.random(); System.out.println(rand); } } } 从标准输入读取字符串和整数(获取用户的输入) Scanne

关于用 random 生成伪随机数的一个手笔

我在想还要不要写什么文字.确实不需要太多的文字描述吧. 前奏插一个小话题,之前在网上看到这样的冷笑话(有图的),一个程序猿调试个程序,早上怀疑某某地方的错误,下午怀疑某某地方的错误,晚上怀疑某某地方可能错了,睡觉了还是辗转反侧难以入眠.第二天早上,再看看代码的时候,无意中找到了bug,漏下了逗号“,“,哈哈冷笑话. 我这次也是疏忽了.在一个网站的项目中,用random去生成随机数,作为上传文件的名称.当然在需要用户上传的文件中是不容易遇到这个bug的.但是在做爬虫下载文件也用这个random生成

.Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数

.Net中我们通常使用Random类生成随机数,在一些场景下,我却发现Random生成的随机数并不可靠,在下面的例子中我们通过循环随机生成10个随机数: for (int i = 0; i < 10; i++) { Random random1 = new Random(); Console.WriteLine(random1.Next()); } 测试生成随时基本都是相同的结果: 很显然上面的结果是不靠谱的,为什么会这样呢,因为微软的Random类,发现在C#中生成随机数使用的算法是线性同余法

Random 类生成随机数

Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字. 相同种子数的Random对象,相同次数生成的随机数字是完全相同的.也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同.这点在生成多个随机数字时需要特别注意. 下面介绍一下Random类的使用,以及如何生成指定区间的随机数组以及实现程