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

相关推荐
麦麦麦当劳大王40 分钟前
【油猴脚本】Boss直聘 岗位职责复制
开发语言·前端·javascript
starzy19901 小时前
深入理解Scala Map:从实现原理到工程实践
开发语言·后端·scala
只睡四小时2 小时前
Three.js Sub-tick:漏判 60.7%→0
开发语言·javascript·性能优化·ecmascript·游戏开发·three.js·碰撞检测
码农小河662 小时前
基于SSM+JSP的高校专业信息管理系统【附源码+数据库】
java·开发语言·数据库
东鹏特饮4 小时前
系统运维(传统/通用运维)面试题
开发语言·php
今天要早睡_5 小时前
C++01_入门基础复习
开发语言·c++
黑马程序员毕设5 小时前
基于 Java 的餐饮点餐系统设计与应用报告
java·开发语言
1-1=07 小时前
C# 委托与事件
开发语言·c#
Fuyo_11197 小时前
C++ 运行时多态与虚函数机制全面剖析【面试重点】
开发语言·c++·面试
武天旭7 小时前
AI安全--AI大模型的毒性偏见与安全对齐实践
人工智能·python·深度学习