Python生成随机数_python生成随机数并判断奇偶

生成一个Python随机数

6 分钟阅读

Python有一个内置的随机模块来实现此目的。它公开了几个方法,如randrange(),randint(),random(),seed(),uniform()等。您可以调用这些函数中的任何一个来生成 Python 随机数。

通常,随机数是一个整数,但您也可以生成随机浮点数。但是,您首先需要了解程序员的上下文,然后选择要使用的正确函数。

初学者的 Python 随机数教程

Python随机数生成器

Python 随机数生成器是一个产生伪随机数的确定性系统。它使用Mersenne Twister算法,可以生成随机数列表。

确定性算法始终为相同的输入返回相同的结果。

它是迄今为止在各种编程语言中实现的最成功的PRNG技术。

伪随机数在统计上是随机的,但具有定义的起点,并且可能会重复。

现在让我们看看一些生成随机整数和浮点数的真实示例。

Randrange() 生成一个随机数

randrange() 函数可用于 Python 随机模块。它使您从给定的值范围生成一个随机数。

此函数具有以下三种变体:

语法

# randrange() with all three arguments
random.randrange(begin, end, step counter)

使用这种形式的 randrange() 时,您必须传递开始、停止和步长值。

# randrange() with first two arguments
random.randrange(begin, end)

使用此表单,您可以提供开始和停止,默认值 (=1) 用作计步器。

# randrange() with a single argument
random.randrange(end)

只需传递范围的终结点。起点考虑值 (=0),计步器考虑默认值 (=1)。

另外,请注意,在生成随机数时,结束/停止值被排除在外。此函数在以下情况下会产生 ValueError 异常:

  • 如果您已将浮动范围用于开始/停止/步骤。
  • 或者,如果起始值大于停止值。

现在让我们看看几个例子。

示例-1:生成介于 0 和 100 之间的随机数

import random as rand

# Generate random number between 0 to 100

# Pass all three arguments in randrange()
print("First Random Number: ", rand.randrange(0, 100, 1))

# Pass first two arguments in randrange()
print("Second Random Number: ", rand.randrange(0, 100)) # Default step = 1

# Or, you can only pass the start argument
print("Third Random Number: ", rand.randrange(100))     # Default start = 0, step = 1

输出为:

First Random Number:  3
Second Random Number:  36
Third Random Number:  60

示例-2:生成介于 1 和 99 之间的随机数

import random as rand

# Generate random number between 1 to 99

# Pass all three arguments in randrange()
print("First Random Number: ", rand.randrange(1, 99, 1))

# Pass first two arguments in randrange()
print("Second Random Number: ", rand.randrange(1, 99)) # Default step = 1

结果是:

First Random Number:  18
Second Random Number:  77

Randint() 表示包含范围

randint() 函数有点类似于 randrange()。它也从范围中生成一个随机整数。但是,它略有不同:

  • Randint() 有两个必需的参数:start 和 stop
  • 它有一个包含范围,即可以返回两个端点作为随机输出。

语法

# random module's randint() function
random.randint(start, stop)

此函数在生成随机输出时考虑开始值和结束值。

示例:Randint() 与 Seed() 演示打印随机数

import random as rand

# Generate random number using randint()

# Simple randint() example
print("Generate First Random Number: ", rand.randint(10, 100))

# randint() along with seed()
rand.seed(10)
print("Generate Second Random Number: ", rand.randint(10, 100))

rand.seed(10)
print("Repeat Second Random Number: ", rand.randint(10, 100))

结果如下:

Generate First Random Number:  14
Generate Second Random Number:  83
Repeat Second Random Number:  83

random() 生成随机浮点数

它是Python随机模块最基本的功能之一。它计算一个介于 0 和 1 之间的随机浮点数。

此函数具有以下语法:

语法

# random() function to generate a float number
random.random()

示例:Python 随机生成浮点数

import random as rand

# Generate random number between 0 and 1

# Generate first random number
print("First Random Number: ", rand.random())

# Generate second random number
print("Second Random Number: ", rand.random())

以下是执行后的输出:

First Random Number:  0.6448613829842063
Second Random Number:  0.9482605596764027

Seed() 重复随机数

seed() 方法允许保留 random() 函数的状态。这意味着一旦你设置了一个种子值并调用random()。然后,Python 将给定的种子映射到此操作的输出。

因此,每当您调用具有相同值的 seed() 时,后续的 random() 都会返回相同的随机数。

语法

# random seed() function
random.seed([seed value])

种子是可选字段。其默认值为 None,表示使用系统时间进行随机操作。

示例:如何将 Seed() 与 random() 一起使用

import random as rand

# Generate random number using seed()

# Using seed() w/o any argument
rand.seed()
print("Generate First Random Number: ", rand.random())
rand.seed()
print("Generate Second Random Number: ", rand.random())

# Using seed() with an argument
rand.seed(5)
print("Generate Third Random Number: ", rand.random())
rand.seed(5)
print("Repeat Third Random Number: ", rand.random())

以下是执行结果:

Generate First Random Number:  0.6534144429163206
Generate Second Random Number:  0.4590722400270483
Generate Third Random Number:  0.6229016948897019
Repeat Third Random Number:  0.6229016948897019

请注意,您甚至可以将 seed() 与其他 Python 随机函数(如 randint() 或 randrange() 配对。

Uniform() 生成随机浮点数

uniform() 函数从给定范围内计算一个随机浮点数。指定范围需要两个参数。

第一个参数包含随机处理。

语法

# random uniform() function
random.uniform(start, stop)

此函数提供满足开始 <= r <停止的随机结果 (r)。另外,请注意,启动和停止参数都是强制性的。

示例:使用 uniform() 的 Python 随机数

import random as rand

# Generate random float number using uniform()

# Simple randint() example
print("Generate First Random Float Number: ", rand.uniform(10, 100))
print("Generate Second Random Float Number: ", rand.uniform(10, 100))

执行后的结果为:

Generate First Random Float Number:  20.316562022174068
Generate Second Random Float Number:  27.244409254588806

相关文章

掌握Python中choice函数的用法:随机选择与random模块

知识星球:写代码那些事如果你有收获|欢迎|点赞|关注|转发这里会定期更新|大厂的开发|架构|方案设计这里也会更新|如何摸鱼|抓虾Python教程:Python中choice函数用法欢迎来到写代码那些事...

Python获取随机数方法汇总_python语言如何获取随机整数

1. random.random()作用:随机生成一个[0,1)之间的浮点数import random print(f'随机生成一个[0,1)之间的浮点数={random.random()}')2....

Python 随机字符串_python 生成随机字符

在很多时候我们可能需要生成一些随机字符串。Python 也为我们提供了生成随机字符串的方法和函数。这个函数是在 random 库中定义的函数 choice。通常 choice 将会从给定的字符串中挑选...

python中随机模块random的用法_pythonrandom随机数的用法

Python 有一个可用于制作随机数的内建模块。现在总结归纳一下,方便大家查询学习random 模块有一组如下的方法:序号方法描述1seed()初始化随机数生成器。2getstate()返回随机数生成...

Python随机抽查部分学生,手把手教你学会random

疫情期间的网课上你有被熊孩子气到炸吗网线的两端,是不是这样巧合呢复课后的课堂上你有被熊孩子气到疯吗等下,跑题了,下面言归正传关键知识点:random库、判断、循环、列表、异常处理、文件的读取等。开发环...