Python中的随机数不是真的随机数

计算机中的随机数并非真正的随机,而是通过算法模拟。Python中生成随机数需使用random模块,如random.random()、random.uniform()等,用于生成各种类型的随机数。此外,random模块还提供shuffle()和sample()等函数,方便对序列进行操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python中的随机数不是真的随机数

 

计算机中的随机函数是按照一定算法模拟产生的,其结果是确定的,是可预见的,并不是真的随机。

Python中生成随机数需要导入模块random。

import random

这里还是要推荐下小编的Python学习群: 823137423,不管你是小白还是大牛,小编我都欢迎
,不定期分享干货,包括小编自己整理的一份2019年最新的Python资料和0基础入门教程视频,欢迎初学和进阶中的小伙伴。在不忙的时间我会给大家解惑。

部分资料截图

random模块常用的几个函数

1、random()方法

#随机生成[0,1)之间的浮点数
>>> import random
>>> random.random()
0.842087374592028

2、random.uniform(a, b)

#获取指定范围内随机浮点数

#两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: a <= n <= b。如果 a <b, 则 b <= n <= a
>>> random.uniform(1,10)
3.563210711167122
>>> random.uniform(10,1)
2.9816474779151774

3、random.randint(a, b)

#生成指定范围的随机整数
#其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b
>>> random.randint(1,10)
3
>>> random.randint(10,1)
Traceback (most recent call last):
 File "<pyshell#6>", line 1, in <module>
 random.randint(10,1)
 File "D:Python37lib
andom.py", line 222, in randint
 return self.randrange(a, b+1)
 File "D:Python37lib
andom.py", line 200, in randrange
 raise ValueError("empty range for randrange() (%d,%d, %d)" % (istart, istop, width))
ValueError: empty range for randrange() (10,2, -8)

4、random.randrange([start],stop[,step])

#获取指定范围内、按指定基数递增的随机的整数。
#start -- 指定范围内的开始值,包含在范围内。
#stop -- 指定范围内的结束值,不包含在范围内。
#step -- 指定递增基数,默认是1。
>>> random.randrange(1,100,3)
58
>>> random.randrange(1,100)
44
>>> random.randrange(100)
77

5、random.choice(sequence)

#从序列中随机获取一个元素,参数sequence表示一个有序类型。
>>> random.choice('abcdefghijk')
'k'
>>> random.choice(['Python','Java','C++','Ruby','JSP'])
'Java'
>>> colors = ['red','yellow','blue','white','black']
>>> random.choice(colors)
'blue'

6、random.shuffle(x[,random])

#将一个可变序列中的元素打乱
>>> items = [1,2,3,4,5,6,7]
>>> random.shuffle(items)
>>> items
[6, 3, 5, 1, 4, 7, 2]
>>> s = ['Python','is','very','simple','!']
>>> random.shuffle(s)
>>> s
['simple', 'is', 'Python', '!', 'very']
>>> colors = ['red','yellow','bule','white','black']
>>> random.shuffle(colors)
>>> colors
['bule', 'white', 'black', 'yellow', 'red']

7、random.sample(sequence,k)

#从指定的序列中随机获取指定长度的片段,原序列不变。
>>> random.sample([1,2,3,4,5,6,7],3)
[1, 2, 6]
>>> colors = ['red','yellow','bule','white','black']
>>> random.sample(colors,2)
['black', 'white']
>>> random.sample(colors,2)
['yellow', 'bule']

以上是对random模块的一些总结,欢迎大家指正。^_^

### Python 中生成随机数的函数 Python 提供了一个名为 `random` 的标准库模块,用于生成伪随机数。以下是几种常见的随机数生成方式及其具体用法: #### 1. **生成0到1之间的随机浮点数** 可以使用 `random.random()` 函数来生成一个介于 `[0.0, 1.0)` 范围内的随机浮点数[^1]。 ```python import random random_float = random.random() print(random_float) ``` #### 2. **生成指定范围内的随机整数** 通过调用 `random.randint(a, b)` 可以生成一个位于区间 `[a, b]`(包括两端点)中的随机整数[^1]。 ```python random_int = random.randint(1, 10) print(random_int) ``` #### 3. **从序列中随机选取元素** 如果有一个列表或其他可迭代对象,可以通过 `random.choice(seq)` 来从中随机挑选一个元素。 ```python fruits = ["apple", "banana", "orange"] random_fruit = random.choice(fruits) print(random_fruit) ``` #### 4. **打乱序列顺序** 对于需要改变原有序列排列的情况,可以利用 `random.shuffle(seq)` 方法将序列中的元素位置随机化[^2]。 ```python words = ["Python", "is", "powerful", "simple", "and so on..."] random.shuffle(words) print(words) ``` #### 5. **生成特定范围内步长控制的随机数** 当希望得到某个固定跨度内任意数值时,则适用 `random.randrange(start, stop[, step])` 函数[^2]。此功能允许定义起始值、终止值以及增量单位。 ```python random_num_with_step = random.randrange(0, 101, 5) # 在0至100间按每5递增取样 print(random_num_with_step) ``` 以上即为 Python 中一些基础却实用的随机数操作技巧说明。这些工具能够满足大多数日常编程需求场景下的不确定性引入要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值