在 Python 中生成随机布尔值(True 或 False)

在 Python 中生成随机布尔值(真或假)

Generate a random Boolean (True or False) in Python

要生成随机布尔值:

  1. 使用该random.getrandbits()方法获取具有 1 个随机位的整数。
  2. 使用bool()该类将整数转换为布尔值。
主程序
import random # ✅ Generate random boolean result = bool(random.getrandbits(1)) print(result) # 👉️ False result = bool(random.getrandbits(1)) print(result) # 👉️ True # ---------------------------------- # ✅ Generate random boolean based on probability def bool_based_on_probability(probability=0.5): return random.random() < probability # 👇️ 75% probability to return True result = bool_based_on_probability(0.75) print(result) # 👉️ True # ---------------------------------- # ✅ Get a list of N random booleans random_boolean_list = random.choices([True, False], k=3) print(random_boolean_list) # 👉️ [True, True, False]

random.getrandbits
方法返回一个
带有k随机位
的非负 Python 整数。

我们将k参数设置为1,因此该方法返回的唯一可能值是01

主程序
import random print(random.getrandbits(1)) # 👉️ 1 print(random.getrandbits(1)) # 👉️ 0 print(random.getrandbits(1)) # 👉️ 0

最后一步是使用bool()该类将整数转换为布尔值。

主程序
import random result = bool(random.getrandbits(1)) print(result) # 👉️ False result = bool(random.getrandbits(1)) print(result) # 👉️ True

Converting 0to a boolean returnsFalse和 converting 1to a boolean returns True

主程序
print(bool(0)) # 👉️ False print(bool(1)) # 👉️ True
您也可以使用该random.choice()方法生成随机布尔值,但该方法的性能稍差。
主程序
import random random_bool = random.choice([True, False]) print(random_bool) # 👉️ False

random.choice方法接受
一个序列并从非空序列返回一个随机元素。

如果您需要根据概率生成随机布尔值,请使用该
random.random()方法。

根据概率生成随机布尔值(真或假)

要根据概率生成随机布尔值:

  1. 使用random.random()方法获取从0到的随机浮点数1
  2. 检查生成的值是否小于概率。
  3. 例如,random.random() < 0.75返回True75% 的时间。
主程序
import random def bool_based_on_probability(probability=0.5): return random.random() < probability # 👇️ 75% probability to return True result = bool_based_on_probability(0.75) print(result) # 👉️ True # 👇️ 25% probability to return True result = bool_based_on_probability(0.25) print(result) # 👉️ False

random.random数返回 range 中的
下一个随机浮点数
[0.0,1.0)

该方法可以返回0,但它永远不会返回1

比较两个浮点数返回一个布尔值。

例如,如果您将probability参数设置为0.75,则该函数有
75%机会返回True

如果将参数设置为1,函数将始终返回True

在 Python 中生成多个随机布尔值的列表

使用该random.choices()方法生成多个随机布尔值的列表,例如random.choices([True, False], k=3)
random.choices()方法返回k从 iterable 中选择的元素的大小列表。

主程序
import random random_boolean_list = random.choices([True, False], k=3) print(random_boolean_list) # 👉️ [True, True, False] # 👇️ with probability (specify weights) random_boolean_list = random.choices( [True, False], k=3, weights=[75, 25] ) print(random_boolean_list) # 👉️ [True, True, False]

random.choices

方法返回一个大小列表,其中
包含k从提供的可替换迭代中选择的元素。

主程序
import random a_list = ['bobby', 'hadz', '.', 'com'] result = random.choices(a_list, k=3) print(result) # 👉️ ['hadz', 'hadz', 'bobby']
替换基本上意味着可以多次返回相同的元素。

如果您需要根据概率返回布尔值,请将weights
调用中的参数设置为
random.choices().

主程序
import random random_boolean_list = random.choices( [True, False], k=3, weights=[75, 25] ) print(random_boolean_list) # 👉️ [True, True, False]

对该方法的调用有 75% 的机会返回True值和 25% 的机会返回False