Hướng dẫn random boolean with probability python - boolean ngẫu nhiên với python xác suất

68

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Có chức năng tiêu chuẩn cho Python nào xuất ra xác suất đúng hoặc sai dựa trên đầu vào của một số ngẫu nhiên từ 0 đến 1 không?

Ví dụ về những gì tôi muốn nói:

def decision(probability):
    ...code goes here...
    return ...True or False...

Ví dụ trên nếu được đưa ra, giả sử, 0,7 sẽ trả về đúng với xác suất 70% và sai với xác suất 30%

Khi được hỏi ngày 4 tháng 5 năm 2011 lúc 16:52May 4, 2011 at 16:52

Hướng dẫn random boolean with probability python - boolean ngẫu nhiên với python xác suất

import random

def decision(probability):
    return random.random() < probability

Đã trả lời ngày 4 tháng 5 năm 2011 lúc 16:56May 4, 2011 at 16:56

NPENPENPE

472K104 Huy hiệu vàng925 Huy hiệu bạc999 Huy hiệu đồng104 gold badges925 silver badges999 bronze badges

1

Đưa ra một hàm

import random

def decision(probability):
    return random.random() < probability
3 trả về một số từ 0 đến 1, bạn có thể xác định
import random

def decision(probability):
    return random.random() < probability
4 như thế này:

bool decision(float probability)
{
   return rand()

Giả sử rằng rand () trả về một giá trị trong phạm vi

import random

def decision(probability):
    return random.random() < probability
5 (do đó có thể xuất 0,0, sẽ không bao giờ xuất ra 1.0).

Jan Rüegg

9.2077 Huy hiệu vàng60 Huy hiệu bạc99 Huy hiệu Đồng7 gold badges60 silver badges99 bronze badges

Đã trả lời ngày 4 tháng 5 năm 2011 lúc 16:56May 4, 2011 at 16:56

Hướng dẫn random boolean with probability python - boolean ngẫu nhiên với python xác suất

NPENPEBlindy

472K104 Huy hiệu vàng925 Huy hiệu bạc999 Huy hiệu đồng10 gold badges86 silver badges125 bronze badges

3

Đưa ra một hàm

import random

def decision(probability):
    return random.random() < probability
3 trả về một số từ 0 đến 1, bạn có thể xác định
import random

def decision(probability):
    return random.random() < probability
4 như thế này:

>>> from pyprobs import Probability as pr
>>> 
>>> # You can pass float (i.e. 0.5, 0.157), int (i.e. 1, 0) or str (i.e. '50%', '3/11')
>>> pr.prob(50/100)
False
>>> pr.prob(50/100, num=5)
[False, False, False, True, False]

Giả sử rằng rand () trả về một giá trị trong phạm vi

import random

def decision(probability):
    return random.random() < probability
5 (do đó có thể xuất 0,0, sẽ không bao giờ xuất ra 1.0).Aug 24, 2021 at 8:34

Hướng dẫn random boolean with probability python - boolean ngẫu nhiên với python xác suất

Jan RüeggOmerFI

9.2077 Huy hiệu vàng60 Huy hiệu bạc99 Huy hiệu Đồng1 silver badge6 bronze badges

Mù quáng

from random import randint
n=8 # inverse of probability
rand_bool=randint(0,n*n-1)%n==0

62.3k10 Huy hiệu vàng86 Huy hiệu bạc125 Huy hiệu Đồng

def rand_bool(prob):
    s=str(prob)
    p=s.index('.')
    d=10**(len(s)-p)
    return randint(0,d*d-1)%d

Chỉ cần sử dụng thư viện PyProbs. Nó rất dễ sử dụng.

Đã trả lời ngày 24 tháng 8 năm 2021 lúc 8:34May 31, 2020 at 13:15

Omerfiomefi

    from numpy import random as rn
    p = 0.15
    data = rn.random(100)
    final_data = list(map(lambda x: x < p, data))

781 Huy hiệu bạc6 Huy hiệu đồng

Tôi sử dụng điều này để tạo ra một boolean ngẫu nhiên trong Python với xác suất:2 gold badges26 silver badges31 bronze badges

Vì vậy, để mở rộng điều đó:Oct 28, 2019 at 13:54

1

Trong Python, chúng ta có thể dễ dàng nhận được một boolean ngẫu nhiên bằng cách sử dụng hàm python ngẫu nhiên () hoặc lựa chọn () từ mô -đun ngẫu nhiên.random() or choice() function from the random module.

import random import choice, random

#Using random.random() 
random_bool_with_random = True if random() > 0.5 else False

#Using random.choice()
random_bool_with_choice = choice([True, False])

print(random_bool_with_random)
print(random_bool_with_choice)

#Output:
True
False

Có thể tạo ra các số ngẫu nhiên một cách hiệu quả khi làm việc với ngôn ngữ lập trình là rất quan trọng. Trong Python, chúng ta có thể tạo số ngẫu nhiên dễ dàng để có được các giá trị Boolean ngẫu nhiên.

Để có được Boolean một cách ngẫu nhiên, chúng ta có thể sử dụng mô -đun ngẫu nhiên Python. Trong mô -đun ngẫu nhiên Python, chúng ta có thể sử dụng hàm Python Random () hoặc hàm Python Lựa chọn ().random() function, or Python choice() function.

Hàm ngẫu nhiên () tạo ra một float ngẫu nhiên giữa 0 và 1. Hàm lựa chọn python () có trong một danh sách các lựa chọn và đưa ra lựa chọn ngẫu nhiên từ các lựa chọn đó.random() function generates a random float between 0 and 1. The Python choice() function takes in a list of choices and gives a random selection from those choices.

Dưới đây là một ví dụ về cách nhận được một giá trị boolean một cách ngẫu nhiên trong Python.

import random import choice, random

#Using random.random() 
random_bool_with_random = True if random() > 0.5 else False

#Using random.choice()
random_bool_with_choice = choice([True, False])

print(random_bool_with_random)
print(random_bool_with_choice)

#Output:
True
False

Một ứng dụng như vậy trong việc tạo ra các giá trị Boolean ngẫu nhiên sẽ là nếu bạn muốn tạo một lần lật đồng xu trong Python.

Dưới đây là một số mã mẫu về cách bạn có thể lật một đồng xu trong Python bằng mô -đun ngẫu nhiên.

from random import choice, random

#Using random.choice()
coin_flip_with_choice = choice(["Heads","Tails"])

#Using random.random() 
coin_flip_with_random = "Heads" if random() > 0.5 else "Tails"


print(coin_flip_with_choice)
print(coin_flip_with_random)

#Output:
Tails
Heads

Sử dụng Python để tạo danh sách Booleans ngẫu nhiên trong vòng lặp

Nếu bạn muốn tạo một danh sách các booleans ngẫu nhiên, chúng ta có thể dễ dàng xác định chức năng và sử dụng một vòng lặp trong Python.

Trong ví dụ này, chúng tôi sẽ tạo một hàm có một đối số, số lượng booleans bạn muốn tạo và sẽ trả về một danh sách các booleans ngẫu nhiên.

Dưới đây là một số mã mẫu sẽ nhận được các booleans ngẫu nhiên cho bạn trong Python.

import random

def decision(probability):
    return random.random() < probability
0

Tạo ra một boolean ngẫu nhiên với xác suất

Trong các ví dụ trên, chúng tôi đã giả định rằng chúng tôi muốn có 50% đúng và 50% sai được tạo ra từ chương trình Python của chúng tôi.

Nếu chúng ta muốn tạo một boolean ngẫu nhiên dựa trên xác suất, chúng ta có thể sử dụng hàm ngẫu nhiên () và điều chỉnh ngưỡng.random() function and adjust the threshold.

Ví dụ: nếu chúng ta muốn tạo ra 70% thời gian thực sự, thì chúng ta sẽ làm như sau trong Python:

import random

def decision(probability):
    return random.random() < probability
1

Tạo ra các booleans ngẫu nhiên với numpy và gấu trúc ở Python

Nếu bạn đang sử dụng Numpy hoặc Pandas, chúng ta có thể điền vào một cột với các giá trị Boolean ngẫu nhiên bằng cách sử dụng Numpy Random.rand () cho phép chúng ta tạo các số ngẫu nhiên theo cách tương tự như mô -đun ngẫu nhiên Python.random.rand() allows us to generate random numbers in the same way as the Python random module.

Dưới đây là một số mã cho phép bạn nhận được các giá trị Boolean một cách ngẫu nhiên trong Python với Numpy.

import random

def decision(probability):
    return random.random() < probability
2

Hy vọng rằng bài viết này đã có lợi cho bạn để tìm hiểu làm thế nào để có được một boolean ngẫu nhiên trong Python bằng cách sử dụng mô -đun ngẫu nhiên.

Làm thế nào để bạn tạo ra một boolean ngẫu nhiên trong Python?

Sử dụng Random.getRandBits () để nhận một cuộc gọi giá trị Boolean ngẫu nhiên ngẫu nhiên.GetRandbits (k) với k đặt thành 1 để nhận một bit ngẫu nhiên duy nhất.Một chút là 0 (đại diện cho sai) hoặc 1 (đại diện cho đúng).Sử dụng bool () để chuyển đổi bit ngẫu nhiên thành bool. getrandbits() to get a random boolean value Call random. getrandbits(k) with k set to 1 to get a single random bit. A bit is either 0 (representing False ) or 1 (representing True ). Use bool() to convert the random bit into a bool.

Làm thế nào để bạn tìm thấy xác suất trong Python?

Tính xác suất cho các sự kiện đơn lẻ để tính toán xác suất này, bạn chia số lượng kết quả sự kiện có thể có cho không gian mẫu.Điều này có nghĩa là bạn phải xem xét trước tiên có bao nhiêu cách có thể để đồng xu hạ cánh trên đuôi và số lượng kết quả có thể xảy ra.divide the number of possible event outcomes by the sample space. This means that you have to consider first how many possible ways there are for the coin to land on tails, and the number of possible outcomes.