Python测试开发基础(三)---random模块

什么是 `random` 模块?

`random` 是 Python 自带的一个模块,这个模块帮你做一些"随机"的事情。比如,你想让计算机帮你随机选一个数字、打乱一组数据的顺序,或者从一堆东西里随机挑一个,`random` 模块都可以做到。

如何使用 `random` 模块?

在使用 `random` 模块之前,你需要先把它导入到你的程序中。可以用下面的代码来导入:

```python

import random

```

导入后,你就可以使用 `random` 模块提供的各种功能了。

常用功能

1. 生成随机小数

你想要一个 0 到 1 之间的随机小数吗?`random.random()` 就能做到!

```python

import random

生成一个 0 到 1 之间的随机小数

random_number = random.random()

print(random_number) # 比如输出: 0.3744

```

2. 生成随机整数

如果你想要一个随机的整数,比如从 1 到 10 之间,使用 `random.randint(a, b)` 就行了。

```python

import random

生成一个 1 到 10 之间的随机整数

random_integer = random.randint(1, 10)

print(random_integer) # 比如输出: 7

```

3. 随机选择一个元素

假设你有一组水果的名字,想随机选一个,`random.choice(seq)` 就可以帮你做到。

```python

import random

fruits = ['apple', 'banana', 'cherry', 'date']

随机选择一个水果

random_fruit = random.choice(fruits)

print(random_fruit) # 比如输出: 'banana'

```

4. 随机打乱顺序

有时候,你可能想打乱一组数据的顺序,比如你有一副牌,想随机打乱它。`random.shuffle(seq)` 就能帮你把顺序打乱。

```python

import random

cards = ['ace', 'king', 'queen', 'jack']

打乱这副牌的顺序

random.shuffle(cards)

print(cards) # 比如输出: ['queen', 'ace', 'jack', 'king']

```

5. 从一组数据中随机挑选多个元素

假如你有一个班级名单,想随机挑选三名同学回答问题,你可以用 `random.sample(seq, k)` 来实现。

```python

import random

students = ['Alice', 'Bob', 'Charlie', 'Diana', 'Eve']

随机挑选3个同学

random_students = random.sample(students, 3)

print(random_students) # 比如输出: ['Charlie', 'Eve', 'Alice']

```

6. 使用种子让随机结果可预测

通常,每次运行随机函数都会得到不同的结果。但如果你想让每次运行都得到相同的随机结果,可以使用 `random.seed()`。

```python

import random

设置随机种子

random.seed(42)

print(random.random()) # 每次运行都会输出相同的结果,比如:0.6394267984578837

```

总结

`random` 模块让你可以轻松地生成随机数、随机选择、随机打乱等。对于编程新手来说,这个模块非常有用,特别是在你想让程序有一点"随机性"时。

你可以试着把这些代码在你的 Python 环境中运行一下,观察它们的效果,这样你会更容易理解这些功能的用途和效果。

相关推荐
2401_857439691 小时前
SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能
开发语言·php
SoraLuna2 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos
xlsw_2 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
梧桐树04293 小时前
python常用内建模块:collections
python
Dream_Snowar3 小时前
速通Python 第三节
开发语言·python
高山我梦口香糖4 小时前
[react]searchParams转普通对象
开发语言·前端·javascript
信号处理学渣4 小时前
matlab画图,选择性显示legend标签
开发语言·matlab
红龙创客4 小时前
某狐畅游24校招-C++开发岗笔试(单选题)
开发语言·c++
蓝天星空4 小时前
Python调用open ai接口
人工智能·python
jasmine s4 小时前
Pandas
开发语言·python