Python 程序中使用随机数非常有用。假如你在玩《龙与地下城》(Dungeons & Dragons)并且想要创建一个小型的 Python 程序来为你掷骰子。虽然用实体骰子掷骰子对玩家来说带来了很多满足感,但为此创建一个有趣的小应用程序是学习在 Python 中使用随机数的好方法。

OpenBayes 平台跑了上线了在 Python 中生成随机数字的教程,该教程已经搭建好了环境,直接克隆即可启动,使用我的邀请链接,还可以获得 4 小时免费 4090 哦~

openbayes.com/console/sig…

登录平台后,打开「公共教程」,找到「如何在 Python 中生成随机数字」的教程,进入后点击右上角的「克隆」。

在 OpenBayes 的 Python 中生成随机数字

在 OpenBayes 的 Python 中生成随机数字

等待分配好资源后,点击「打开工作空间」。

在 OpenBayes 的 Python 中生成随机数字

双击打开左侧导航栏中 Random.ipynb 文件,进入教程。

在 OpenBayes 的 Python 中生成随机数字
运行 import random 导入 random 模块。

在 OpenBayes 的 Python 中生成随机数字

之后定义一个变量 n,使用 randint 函数来生成一个 0 到 10 之间的随机数,此处 randint 前面需要加上 random,以表示它属于 random 库内,这样 Python 可以知道我们调用的是哪一个库中的 randint。

在 OpenBayes 的 Python 中生成随机数字

运行 print(n) 打印 n,可以看见此次的随机数为 1。

在 OpenBayes 的 Python 中生成随机数字

我们新建一个终端,将终端拖到下面。

在 OpenBayes 的 Python 中生成随机数字

运行 touch simplerand.py 的命令,可以看到在,左侧生成了一个 Python 文件。

在 OpenBayes 的 Python 中生成随机数字
我们将之前的代码全部复制进入文件之中,然后保存,使用 !python3 simplerand.py 命令运行这个文件,可以看到它直接得到了一个随机数字 3。

在 OpenBayes 的 Python 中生成随机数字

在 OpenBayes 的 Python 中生成随机数字

再次运行 !python3 simplerand.py,得到了一个随机数字 1。

在 OpenBayes 的 Python 中生成随机数字

也可以直接在 notebook 中运行这段命令得到运行结果。

在 OpenBayes 的 Python 中生成随机数字
但是更推荐在 notebook 中使用 % 加上 run 命令来运行一段 Python 文件。

在 OpenBayes 的 Python 中生成随机数字

如果随机数不想包括范围最外层的数字,可以使用 randrange 函数排除设定范围内最外面两个数字作为输出,通过运行 n = random.randrange(0,10) 后,可以得到 1 到9 之间的随机数字,而不包括 0 和 10 。

在 OpenBayes 的 Python 中生成随机数字

下面我们设计一个复杂一点的随机数生成器,在实际引用中我们的随机数范围可能需要依赖用户的输入,所以我们需要设计一个可以接受用户输入作为范围的随机数生成器。首先导入 random 模块,然后定义一个 number_1 变量接收用户的输入,运行 number_1 = input(“Enter the number of sides on your dice from 3, 6, 10, 20, and 100: “) ,可以输入 3,6,10,20,100 中的任何一个数字。

在 OpenBayes 的 Python 中生成随机数字
我们这里选择 20,然后将用户输入转化为整数类型,输入到我们的 randint 中,运行n = random.randint(0, int(number_1)),我们得到一个随机数字 n,打印这个随机数字可以看见我们的随机数字为 11 。

在 OpenBayes 的 Python 中生成随机数字
我们试着运行这个程序,输入一个数字,比如说 100,它生成了 94 作为随机数字。

在 OpenBayes 的 Python 中生成随机数字

我们创建一个新的文件,将import random number_1 = input(“Enter the number of sides on your dice from 3, 6, 10, 20, and 100: “) n = random.randint(0, int(number_1)) print(n)

复制到新文件中。

在 OpenBayes 的 Python 中生成随机数字

然后在终端中使用 !python3 rando.py 来运行我们的代码,输入一个数字就可以得到一个随机数字。

在 OpenBayes 的 Python 中生成随机数字

如果想在 notebook 中直接使用这行代码,需要把前面的 Python 换为 run 命令,每次运行应用程序时,将得到一个从 0 到用户输入的数字范围内的伪随机结果。

在 OpenBayes 的 Python 中生成随机数字

我们可以添加一个 while 循环来不断地获取用户的输入,从而不断地生成相应的随机数。import random while True: number_1 = input(“Enter the number of sides on your dice from 3, 6, 10, 20, and 100: “) n = random.randint(0, int(number_1)) print(n)

在 OpenBayes 的 Python 中生成随机数字
如果觉得文字教程不好理解,可以在 B 站搜索视频【Python 基础教程】在 Python 中生成随机数字,根据学习操作~