Skip to content

Commit e619b39

Browse files
BethanyGcmccandless
authored andcommitted
Nth prime: sync expected test results and input data with problem-specifications (exercism#1812)
1 parent a675dbc commit e619b39

File tree

3 files changed

+24
-24
lines changed

3 files changed

+24
-24
lines changed

exercises/nth-prime/example.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,33 +2,33 @@
22
from math import sqrt
33

44

5-
def nth_prime(n):
6-
if n < 1:
7-
raise ValueError('The parameter `n` has to be a positive number.')
5+
def prime(number):
6+
if number < 1:
7+
raise ValueError('The parameter `number` has to be a positive number.')
88

99
known = []
1010
candidates = prime_candidates()
1111

12-
def is_prime(m):
13-
sqrt_m = sqrt(m)
14-
for k in known:
15-
if k > sqrt_m:
12+
def is_prime(candidate):
13+
sqrt_candidate = sqrt(candidate)
14+
for item in known:
15+
if item > sqrt_candidate:
1616
return True
17-
elif m % k == 0:
17+
elif candidate % item == 0:
1818
return False
1919
return True
2020

21-
while len(known) < n:
22-
x = next(candidates)
23-
if is_prime(x):
24-
known.append(x)
21+
while len(known) < number:
22+
next_one = next(candidates)
23+
if is_prime(next_one):
24+
known.append(next_one)
2525

26-
return known[n - 1]
26+
return known[number - 1]
2727

2828

2929
def prime_candidates():
3030
yield 2
3131
yield 3
32-
for n in count(6, 6):
33-
yield n - 1
34-
yield n + 1
32+
for number in count(6, 6):
33+
yield number - 1
34+
yield number + 1

exercises/nth-prime/nth_prime.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
def nth_prime(positive_number):
1+
def nth_prime(number):
22
pass

exercises/nth-prime/nth_prime_test.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
11
import unittest
22

3-
from nth_prime import nth_prime
3+
from nth_prime import prime
44

55

66
# Tests adapted from `problem-specifications//canonical-data.json` @ v2.1.0
77

88
class NthPrimeTest(unittest.TestCase):
99
def test_first_prime(self):
10-
self.assertEqual(nth_prime(1), 2)
10+
self.assertEqual(prime(1), 2)
1111

1212
def test_second_prime(self):
13-
self.assertEqual(nth_prime(2), 3)
13+
self.assertEqual(prime(2), 3)
1414

1515
def test_sixth_prime(self):
16-
self.assertEqual(nth_prime(6), 13)
16+
self.assertEqual(prime(6), 13)
1717

1818
def test_big_prime(self):
19-
self.assertEqual(nth_prime(10001), 104743)
19+
self.assertEqual(prime(10001), 104743)
2020

2121
def test_there_is_no_zeroth_prime(self):
2222
with self.assertRaisesWithMessage(ValueError):
23-
nth_prime(0)
23+
prime(0)
2424

2525
# additional track specific test
2626
def test_first_twenty_primes(self):
2727
self.assertEqual([2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31,
2828
37, 41, 43, 47, 53, 59, 61, 67, 71],
29-
[nth_prime(n) for n in range(1, 21)])
29+
[prime(n) for n in range(1, 21)])
3030

3131
# Utility functions
3232
def setUp(self):

0 commit comments

Comments
 (0)