Перейти к содержимому

Probability Calculator

Вычислите вероятности одного события, составные (И/ИЛИ), условные и вероятность хотя бы одного события.

Об этом инструменте

Понимание вероятности необходимо для принятия обоснованных решений в областях, начиная с науки и статистики и заканчивая финансами и играми. Этот Калькулятор Вероятностей помогает рассчитать вероятности для различных сценариев—будь то оценка вероятности одного события, анализ составных событий, которые должны удовлетворять нескольким условиям, или определение условных вероятностей, которые зависят от предыдущих результатов. Автоматизируя эти расчёты, инструмент исключает ошибки ручных вычислений и делает теорию вероятностей доступной для студентов, исследователей и профессионалов.

Использование калькулятора просто: выберите тип вероятности, которую вы хотите рассчитать (одно событие, составные события И/ИЛИ, условная, или сценарии с по меньшей мере одним), введите соответствующие значения (отдельные вероятности или количество результатов), и инструмент мгновенно отобразит результат в виде десятичной дроби и процента. Типичные случаи использования включают прогнозирование результатов бросания костей, расчёт вероятности вытягивания определённых карт из колоды, оценку уровней отказов оборудования, оценку точности медицинских тестов или анализ игровых стратегий, где несколько независимых или зависимых событий взаимодействуют.

Для точных результатов убедитесь, что входные вероятности находятся между 0 и 1, и помните, что 'И' означает, что все события должны произойти (правило умножения), а 'ИЛИ' означает, что происходит по меньшей мере одно событие (правило сложения, скорректированное на пересечения). Расчёты условной вероятности особенно полезны в реальных сценариях, таких как байесовское рассуждение в медицинской диагностике или тесты контроля качества, где вероятность результата критически зависит от того, что произошло ранее.

Часто задаваемые вопросы

Реализация кода

from fractions import Fraction
import math

def single_event_probability(favorable: int, total: int) -> dict:
    """P(A) = favorable / total"""
    if total <= 0:
        raise ValueError("Total outcomes must be positive")
    prob = favorable / total
    frac = Fraction(favorable, total)
    return {
        "decimal": round(prob, 6),
        "fraction": f"{frac.numerator}/{frac.denominator}",
        "percentage": round(prob * 100, 4),
    }

def compound_and_probability(p_a: float, p_b: float) -> float:
    """P(A and B) = P(A) × P(B) for independent events"""
    return p_a * p_b

def compound_or_probability(p_a: float, p_b: float) -> float:
    """P(A or B) = P(A) + P(B) - P(A and B) for independent events"""
    return p_a + p_b - p_a * p_b

def at_least_one_probability(p_single: float, trials: int) -> float:
    """P(at least one) = 1 - P(none) = 1 - (1-p)^n"""
    return 1 - (1 - p_single) ** trials

# Examples
print("=== Single Event ===")
r = single_event_probability(3, 6)  # Rolling a 1, 2, or 3
print(f"P = {r['fraction']} = {r['decimal']} = {r['percentage']}%")

print("\n=== Compound (AND) ===")
p_and = compound_and_probability(1/6, 1/6)  # Two dice both show 1
print(f"P(1 and 1) = {p_and:.6f} = {p_and*100:.4f}%")

print("\n=== Compound (OR) ===")
p_or = compound_or_probability(0.5, 0.3)
print(f"P(A or B) = {p_or:.6f} = {p_or*100:.2f}%")

print("\n=== At Least One ===")
p_atleast = at_least_one_probability(1/6, 3)  # At least one 6 in 3 rolls
print(f"P(at least one 6 in 3 rolls) = {p_atleast:.6f} = {p_atleast*100:.2f}%")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.