input: prime numbers 'pNumber1' and 'pNumber2' pNumber1 < pNumber2 returns a list of all prime numbers between 'pNumber1' (exclusiv) and 'pNumber2' (exclusiv)
(pNumber1, pNumber2)
| 448 | # --------------------------------------------------- |
| 449 | |
| 450 | def getPrimesBetween(pNumber1, pNumber2): |
| 451 | """ |
| 452 | input: prime numbers 'pNumber1' and 'pNumber2' |
| 453 | pNumber1 < pNumber2 |
| 454 | returns a list of all prime numbers between 'pNumber1' (exclusiv) |
| 455 | and 'pNumber2' (exclusiv) |
| 456 | """ |
| 457 | |
| 458 | # precondition |
| 459 | assert isPrime(pNumber1) and isPrime(pNumber2) and (pNumber1 < pNumber2), \ |
| 460 | "The arguments must been prime numbers and 'pNumber1' < 'pNumber2'" |
| 461 | |
| 462 | number = pNumber1 + 1 # jump to the next number |
| 463 | |
| 464 | ans = [] # this list will be returns. |
| 465 | |
| 466 | # if number is not prime then |
| 467 | # fetch the next prime number. |
| 468 | while not isPrime(number): |
| 469 | number += 1 |
| 470 | |
| 471 | while number < pNumber2: |
| 472 | |
| 473 | ans.append(number) |
| 474 | |
| 475 | number += 1 |
| 476 | |
| 477 | # fetch the next prime number. |
| 478 | while not isPrime(number): |
| 479 | number += 1 |
| 480 | |
| 481 | # precondition |
| 482 | assert isinstance(ans,list) and ans[0] != pNumber1 \ |
| 483 | and ans[len(ans)-1] != pNumber2, \ |
| 484 | "'ans' must been a list without the arguments" |
| 485 | |
| 486 | # 'ans' contains not 'pNumber1' and 'pNumber2' ! |
| 487 | return ans |
| 488 | |
| 489 | # ---------------------------------------------------- |
| 490 |