Python random.getrandbits() 方法



Python random.getrandbits() 方法生成一个具有 k 个随机位的非负 Python 整数。它是 Python random 模块的一部分,允许使用 Mersenne Twister 生成器创建具有指定位长的随机数。此方法比 random.randint() 更快,因为它直接生成随机位,无需额外处理。

要使用此方法,您需要导入 random 模块,因为它无法直接访问,然后您需要使用 random 对象调用该方法。

语法

以下是 random.getrandbits() 函数的语法 -


 random.getrandbits(k)

参数

此方法接受单个参数 -

  • k :一个整数,用于指定输出整数的大小。

返回值

此方法返回具有 k 个随机位的非负 Python 整数。

示例 1

让我们看一个使用 python random.getrandbits() 函数的示例。此示例打印二进制形式为 5 位的整数。


import random

# Generate a random number with 5 bits
print(random.getrandbits(5))

以下是代码的输出 -

26

注意 − 每次执行代码时,您都会得到不同的随机数。

示例 2

random.getrandbits() 生成的数字不是恒定长度的,因为最左边的位可以为零。如果需要生成的数字始终将最高有效位设置为 1,则可以调整生成的位数或通过手动设置此位来直接修改数字。下面是一个示例


import random

# Generate a 127-bit number and set the 128th bit to 1
random_number = random.getrandbits(127) + (1 << 127)
print(random_number)

以下是代码的输出 -

327794174621992455613993598069398317009

示例 3

下面是另一个将输出随机数格式化为二进制字符串的示例。


import random

# Generate a random number with 8 bits
random_bits = random.getrandbits(8)
print(format(random_bits, '08b'))

以下是代码的输出 -

10000010