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