Python如何生成随机数?

Python如何生成随机数?

在Python中生成随机数是常见的需求。比如我们需要模拟数据,输入一些随机的不固定的数值,计算起来比较方便;再比如在多人在线游戏,需要指定随机的起始位置,多人虚拟位移等等。

不过,在Python中,我们并不能直接生成“真正意义”的随机数,因为计算机本质上是一种按照规律而工作的机器。我们生成的随机数是伪随机数,是有规律可循的。

我们可以借助Python的第三方库,通过引入一些随机数生成函数,来实现这个功能。下面我们看看这些函数如何使用。

更多Python文章,请阅读:Python 教程

random库

Python中标准的随机数库是random。它提供了多种生成随机数的函数,比如randint、uniform、random、choice和shuffle等等。让我们逐个了解一下。

randint函数

randint函数用于返回一个指定范围内的整数,也就是随机生成指定范围内的一个整数。

import random

print(random.randint(1,100))

上述代码的输出结果是1-100之间的随机整数。

uniform函数

uniform函数用于生成一个范围内的随机小数,同样可以指定下限和上限。

import random

print(random.uniform(1,100))

上述代码的输出结果是1-100之间的随机小数。

random函数

random函数用于生成一个[0,1)之间的随机小数,也就是从0到不到1的一个随机数。

import random

print(random.random())

choice函数

从列表或元组中随机选择一个元素。

import random

print(random.choice(['a','b','c']))

shuffle函数

shuffle函数用于将一个可迭代对象中的元素随机排序,该函数没有返回值,但会直接修改原对象。

import random

lst = ['a','b','c']
random.shuffle(lst)
print(lst)

numpy库

numpy库是Python的一个科学计算库,它也提供了一个random子模块。numpy中的random函数库相比于Python中内置的random库,提供了更多的随机数生成函数,比如生成正态分布、指数分布等特殊分布的随机数。同时numpy提供的功能非常强大且方便使用,是许多科学计算的首选库之一。我们看看其中的一些随机数生成函数。

normal函数

normal函数用于生成指定均值和标准差的正态分布随机数。

import numpy as np

print(np.random.normal(0,1))

上述代码的输出结果是一个均值为0,标准差为1的正态分布随机数。

exponential函数

exponential函数用于生成指定参数的指数分布随机数。

import numpy as np

print(np.random.exponential(1))

上述代码的输出结果是一个参数为1的指数分布随机数。

poisson函数

poisson函数用于生成指定平均数的泊松分布随机数。

import numpy as np

print(np.random.poisson(5))

上述代码的输出结果是一个平均数为5的泊松分布随机数。

randint函数

randint函数用于返回一个指定范围内的整数。numpy中的randint函数与Python的random库中不同之处在于,numpy中生成的随机整数是包含上界和下界的。

import numpy as np

print(np.random.randint(1,10))

上述代码的输出结果是1-10之间的随机整数,其中包含10这个数。

总结

本文介绍了Python中生成随机数的两个库:random和numpy。通过这两个库,我们可以实现不同类型的随机数生成功能,比如整数、小数、正态分布、指数分布等等。其中,random库是Python内置的标准库,提供了简单易用的基本随机数生成功能,而numpy库则是Python的科学计算库之一,提供了更多种类的随机数生成函数,并具有其他科学计算方面的强大功能。使用者可以根据实际需求选择不同的库和函数来实现自己的功能。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程