input: prime numbers 'pNumber1' and 'pNumber2' pNumber1 < pNumber2 returns a list of all prime numbers between 'pNumber1' (exclusiv) and 'pNumber2' (exclusiv)
(pNumber1, pNumber2)
| 470 | |
| 471 | |
| 472 | def getPrimesBetween(pNumber1, pNumber2): |
| 473 | """ |
| 474 | input: prime numbers 'pNumber1' and 'pNumber2' |
| 475 | pNumber1 < pNumber2 |
| 476 | returns a list of all prime numbers between 'pNumber1' (exclusiv) |
| 477 | and 'pNumber2' (exclusiv) |
| 478 | """ |
| 479 | |
| 480 | # precondition |
| 481 | assert isPrime(pNumber1) and isPrime(pNumber2) and (pNumber1 < pNumber2), ( |
| 482 | "The arguments must been prime numbers and 'pNumber1' < 'pNumber2'" |
| 483 | ) |
| 484 | |
| 485 | number = pNumber1 + 1 # jump to the next number |
| 486 | |
| 487 | ans = [] # this list will be returns. |
| 488 | |
| 489 | # if number is not prime then |
| 490 | # fetch the next prime number. |
| 491 | while not isPrime(number): |
| 492 | number += 1 |
| 493 | |
| 494 | while number < pNumber2: |
| 495 | ans.append(number) |
| 496 | |
| 497 | number += 1 |
| 498 | |
| 499 | # fetch the next prime number. |
| 500 | while not isPrime(number): |
| 501 | number += 1 |
| 502 | |
| 503 | # precondition |
| 504 | assert ( |
| 505 | isinstance(ans, list) and ans[0] != pNumber1 and ans[len(ans) - 1] != pNumber2 |
| 506 | ), "'ans' must been a list without the arguments" |
| 507 | |
| 508 | # 'ans' contains not 'pNumber1' and 'pNumber2' ! |
| 509 | return ans |
| 510 | |
| 511 | |
| 512 | # ---------------------------------------------------- |