aboutsummaryrefslogtreecommitdiff
path: root/challenge-288/roger-bell-west/python/ch-1.py
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-288/roger-bell-west/python/ch-1.py')
-rwxr-xr-xchallenge-288/roger-bell-west/python/ch-1.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/challenge-288/roger-bell-west/python/ch-1.py b/challenge-288/roger-bell-west/python/ch-1.py
new file mode 100755
index 0000000000..3d0d5c30b7
--- /dev/null
+++ b/challenge-288/roger-bell-west/python/ch-1.py
@@ -0,0 +1,30 @@
+#! /usr/bin/python3
+
+def closestpalindrome(a):
+ n = int(a)
+ delta = -1
+ while True:
+ q = str(n + delta)
+ if q == q[::-1]:
+ return q
+ delta = -delta
+ if delta < 0:
+ delta -= 1
+
+import unittest
+
+class TestClosestpalindrome(unittest.TestCase):
+
+ def test_ex1(self):
+ self.assertEqual(closestpalindrome("123"), "121", 'example 1')
+
+ def test_ex2(self):
+ self.assertEqual(closestpalindrome("2"), "1", 'example 2')
+
+ def test_ex3(self):
+ self.assertEqual(closestpalindrome("1400"), "1441", 'example 3')
+
+ def test_ex4(self):
+ self.assertEqual(closestpalindrome("1000"), "999", 'example 4')
+
+unittest.main()