def variations_without_repetition(sample_size, selection_size): assert (isinstance( sample_size, int)), 'Method requires integer paramter for sample size' assert (isinstance( selection_size, int)), 'Method requires integer paramter for selection size' return factorial(sample_size) / factorial(sample_size - selection_size)
def combinations(sample_size, selection_size): assert (isinstance( sample_size, int)), 'Method requires integer paramter for sample size' assert (isinstance( selection_size, int)), 'Method requires integer paramter for selection size' return factorial(sample_size) / (factorial(sample_size - selection_size) * factorial(selection_size))
def permutations(sample_size): assert (isinstance(sample_size, int)), 'Method requires integer paramter' return factorial(sample_size)
def test_factorial_one(): assert factorial(1) == 1
def test_factorial_zero(): assert factorial(0) == 1
def test_factorial_fourteen(): assert factorial(14) == 87178291200