MCPcopy Index your code
hub / github.com/TheAlgorithms/Python / get_primes_between

Function get_primes_between

maths/primelib.py:587–645  ·  view source on GitHub ↗

input: prime numbers 'pNumber1' and 'pNumber2' pNumber1 < pNumber2 returns a list of all prime numbers between 'pNumber1' (exclusive) and 'pNumber2' (exclusive) >>> get_primes_between(3, 67) [5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61]

(p_number_1, p_number_2)

Source from the content-addressed store, hash-verified

585
586
587def get_primes_between(p_number_1, p_number_2):
588 """
589 input: prime numbers 'pNumber1' and 'pNumber2'
590 pNumber1 < pNumber2
591 returns a list of all prime numbers between 'pNumber1' (exclusive)
592 and 'pNumber2' (exclusive)
593
594 >>> get_primes_between(3, 67)
595 [5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61]
596 >>> get_primes_between(0)
597 Traceback (most recent call last):
598 ...
599 TypeError: get_primes_between() missing 1 required positional argument: 'p_number_2'
600 >>> get_primes_between(0, 1)
601 Traceback (most recent call last):
602 ...
603 AssertionError: The arguments must been prime numbers and 'pNumber1' < 'pNumber2'
604 >>> get_primes_between(-1, 3)
605 Traceback (most recent call last):
606 ...
607 AssertionError: 'number' must been an int and positive
608 >>> get_primes_between("test","test")
609 Traceback (most recent call last):
610 ...
611 AssertionError: 'number' must been an int and positive
612 """
613
614 # precondition
615 assert (
616 is_prime(p_number_1) and is_prime(p_number_2) and (p_number_1 < p_number_2)
617 ), "The arguments must been prime numbers and 'pNumber1' < 'pNumber2'"
618
619 number = p_number_1 + 1 # jump to the next number
620
621 ans = [] # this list will be returns.
622
623 # if number is not prime then
624 # fetch the next prime number.
625 while not is_prime(number):
626 number += 1
627
628 while number < p_number_2:
629 ans.append(number)
630
631 number += 1
632
633 # fetch the next prime number.
634 while not is_prime(number):
635 number += 1
636
637 # precondition
638 assert (
639 isinstance(ans, list)
640 and ans[0] != p_number_1
641 and ans[len(ans) - 1] != p_number_2
642 ), "'ans' must been a list without the arguments"
643
644 # 'ans' contains not 'pNumber1' and 'pNumber2' !

Callers

nothing calls this directly

Calls 2

is_primeFunction · 0.70
appendMethod · 0.45

Tested by

no test coverage detected