当前位置: 首页 > article >正文

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 环境中运行一下,观察它们的效果,这样你会更容易理解这些功能的用途和效果。


http://www.kler.cn/a/287575.html

相关文章:

  • shell 100例
  • python语言基础-5 进阶语法-5.2 装饰器-5.2.2 简单装饰器
  • vue2+3 —— Day5/6
  • 蓝桥杯介绍
  • C++ 编程基础(5)类与对象 | 5.8、面向对象五大原则
  • React中组件通信的几种方式
  • form-data和x-www-form-urlencoded的区别
  • 银行业务-结算、代理、托管
  • 【C++】将myString类中能够实现的操作都实现一遍
  • Golang | Leetcode Golang题解之第388题文件的最长绝对路径
  • STM32:TIM定时中断配置的最全库函数讲解笔记
  • 微博视频无水印下载的方法
  • 点餐收银小程序
  • mybatis自定义复杂条件拼接
  • element-ui 表单Cannot read property ‘indexOf‘ of undefined
  • 智能体与在线实用工具:协同并进,提升生活效率
  • 安达发|户外设备制造APS排程的多层级BOM订单拉动
  • 逆向中的游戏-入土为安的第二十五天
  • matlab2024a/2023/2022/2020/matlab2019 如何plot画局部放大图(已解决)
  • Redis的内存淘汰策略—— volatile-random
  • unity的语言问题记录(委托相关)
  • 《从C/C++到Java入门指南》- 26.record 类+多态
  • python 字典怎么提取value
  • 测试框架到底是什么,如何定义?
  • 安防管理平台工业排污检测视频智能分析工业排污检测算法源码全套方案
  • Java项目: 基于SpringBoot+mysql网上订餐系统分前后台(含源码+数据库+开题报告+PPT+毕业论文)