Random 是 Python 内置的一个模块,主要用来生成伪随机数。随机数在计算机中有着广泛的应用,例如密码学、游戏开发、模拟等等。
Random 模块提供了几种生成随机数的方法,包括整数、实数、序列中的元素等等。下面我们将详细介绍 Random 模块的使用方法及相关案例说明。
1. 生成随机整数
Random 模块提供了 randint() 方法来生成指定范围内的随机整数。randint() 方法接收两个参数,表示随机数的范围,返回一个随机整数。
```python
import random
# 生成 1-10 之间的随机整数
num = random.randint(1, 10)
print(num)
```
运行结果:
```python
5
```
2. 生成随机实数
Random 模块提供了 random() 方法来生成 0 到 1 之间的随机实数。如果要生成指定范围内的随机实数,可以使用 uniform() 方法。uniform() 方法接收两个参数,表示随机数的范围,返回一个随机实数。
```python
import random
# 生成 0-1 之间的随机实数
num1 = random.random()
print(num1)
# 生成 1-10 之间的随机实数
num2 = random.uniform(1, 10)
print(num2)
```
运行结果:
```python
0.4042085631350329
7.514742197710994
```
3. 生成随机序列元素
Random 模块提供了 choice() 方法来在序列中随机选择一个元素。如果要从序列中随机选择多个元素,可以使用 sample() 方法。sample() 方法接收两个参数,第一个参数是序列,第二个参数是要选择的元素数量。
```python
import random
# 在列表中随机选择一个元素
list1 = [1, 2, 3, 4, 5]
elem1 = random.choice(list1)
print(elem1)
# 在列表中随机选择两个元素
list2 = ['a', 'b', 'c', 'd', 'e']
elem2 = random.sample(list2, 2)
print(elem2)
```
运行结果:
```python
3
['b', 'e']
```
4. 打乱序列顺序
Random 模块提供了 shuffle() 方法来打乱序列元素的顺序。shuffle() 方法接收一个序列作为参数,返回打乱后的序列。注意,shuffle() 方法会直接修改原序列,而不返回新序列。
```python
import random
# 打印原序列
list1 = [1, 2, 3, 4, 5]
print(list1)
# 打乱序列顺序
random.shuffle(list1)
print(list1)
```
运行结果:
```python
[1, 2, 3, 4, 5]
[4, 1, 2, 5, 3]
```
5. 固定随机数生成种子
Random 模块提供了 seed() 方法来固定随机数的生成种子。当给定一个 seed 值后,每次运行程序生成的随机数序列都是相同的。这在数据分析、科学实验等领域是非常有用的。
```python
import random
# 固定随机数生成种子
random.seed(0)
# 多次生成随机数
for i in range(5):
print(random.random())
```
运行结果:
```python
0.8444218515250481
0.7579544029403025
0.420571580830845
0.25891675029296335
0.5112747213686085
```
可以看到,每次运行程序生成的随机数序列都是相同的。
以上介绍了 Random 模块的几个常用方法。下面我们来看几个随机数生成的案例说明。
1. 猜数字游戏
这是一个非常简单的猜数字游戏,程序生成一个随机数,然后提示用户猜测该随机数是什么。如果用户猜对了,游戏结束,如果猜错了,程序会提示用户继续猜测。游戏会记录用户猜的次数,最终输出用户是否猜对以及猜测次数。
```python
import random
# 生成随机数
num = random.randint(1, 100)
# 初始化猜测次数
count = 0
# 开始游戏
while True:
# 用户猜测随机数
guess = int(input('请输入一个 1-100 的整数:'))
# 猜测次数加 1
count += 1
# 判断猜测是否正确
if guess == num:
print(f'恭喜你猜对了!共猜测了 {count} 次。')
break
elif guess < num:
print('你猜测的数值偏小,请继续猜测。')
else:
print('你猜测的数值偏大,请继续猜测。')
```
2. 掷骰子模拟
这是一个模拟掷骰子的程序,可以指定掷骰子的次数和骰子的面数。程序生成指定次数的随机数,模拟掷骰子的过程,并统计每个点数出现的次数。
```python
import random
# 掷骰子次数
n = int(input('请输入掷骰子次数:'))
# 骰子面数
m = int(input('请输入骰子面数:'))
# 统计每个点数出现的次数
counts = [0] * m
# 模拟掷骰子
for i in range(n):
num = random.randint(1, m)
counts[num-1] += 1
# 输出结果
for i in range(m):
print(f'{i+1} 点出现次数:{counts[i]},占比:{counts[i]/n:.2%}')
```
以上是 Random 模块的介绍及相关案例说明,希望对读者有所帮助。在实际应用中,可以根据具体需求综合使用 Random 模块的各种方法,生成满足需求的随机数序列。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/
发表评论 取消回复