aboutsummaryrefslogtreecommitdiff
path: root/challenge-308/roger-bell-west/python
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-308/roger-bell-west/python')
-rwxr-xr-xchallenge-308/roger-bell-west/python/ch-1.py21
-rwxr-xr-xchallenge-308/roger-bell-west/python/ch-2.py19
2 files changed, 40 insertions, 0 deletions
diff --git a/challenge-308/roger-bell-west/python/ch-1.py b/challenge-308/roger-bell-west/python/ch-1.py
new file mode 100755
index 0000000000..639a3dbb4c
--- /dev/null
+++ b/challenge-308/roger-bell-west/python/ch-1.py
@@ -0,0 +1,21 @@
+#! /usr/bin/python3
+
+def countcommon(a, b):
+ aa = set(a)
+ bb = set(b)
+ return len(aa.intersection(bb))
+
+import unittest
+
+class TestCountcommon(unittest.TestCase):
+
+ def test_ex1(self):
+ self.assertEqual(countcommon(["perl", "weekly", "challenge"], ["raku", "weekly", "challenge"]), 2, 'example 1')
+
+ def test_ex2(self):
+ self.assertEqual(countcommon(["perl", "raku", "python"], ["python", "java"]), 1, 'example 2')
+
+ def test_ex3(self):
+ self.assertEqual(countcommon(["guest", "contribution"], ["fun", "weekly", "challenge"]), 0, 'example 3')
+
+unittest.main()
diff --git a/challenge-308/roger-bell-west/python/ch-2.py b/challenge-308/roger-bell-west/python/ch-2.py
new file mode 100755
index 0000000000..5ebb9fe738
--- /dev/null
+++ b/challenge-308/roger-bell-west/python/ch-2.py
@@ -0,0 +1,19 @@
+#! /usr/bin/python3
+
+def decodexor(a, init):
+ out = [init]
+ for v in a:
+ out.append(out[-1] ^ v)
+ return out
+
+import unittest
+
+class TestDecodexor(unittest.TestCase):
+
+ def test_ex1(self):
+ self.assertEqual(decodexor([1, 2, 3], 1), [1, 0, 2, 1], 'example 1')
+
+ def test_ex2(self):
+ self.assertEqual(decodexor([6, 2, 7, 3], 4), [4, 2, 0, 7, 4], 'example 2')
+
+unittest.main()