aboutsummaryrefslogtreecommitdiff
path: root/challenge-196/roger-bell-west/python
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2022-12-19 14:21:18 +0000
committerGitHub <noreply@github.com>2022-12-19 14:21:18 +0000
commitaac65e924a4cd2c7708d732f610069e4c7bbb325 (patch)
treefb3f190b9ec347bc2d65ebb74b0431cad70b709c /challenge-196/roger-bell-west/python
parent54a669af7a28b27b288971bc4be64ee97a24273f (diff)
parent56167154e412f67b86fe19cd6fd201868c0d0476 (diff)
downloadperlweeklychallenge-club-aac65e924a4cd2c7708d732f610069e4c7bbb325.tar.gz
perlweeklychallenge-club-aac65e924a4cd2c7708d732f610069e4c7bbb325.tar.bz2
perlweeklychallenge-club-aac65e924a4cd2c7708d732f610069e4c7bbb325.zip
Merge pull request #7279 from Firedrake/rogerbw-challenge-196
Solutions for challenge #196
Diffstat (limited to 'challenge-196/roger-bell-west/python')
-rwxr-xr-xchallenge-196/roger-bell-west/python/ch-1.py34
-rwxr-xr-xchallenge-196/roger-bell-west/python/ch-2.py30
2 files changed, 64 insertions, 0 deletions
diff --git a/challenge-196/roger-bell-west/python/ch-1.py b/challenge-196/roger-bell-west/python/ch-1.py
new file mode 100755
index 0000000000..8cdc462919
--- /dev/null
+++ b/challenge-196/roger-bell-west/python/ch-1.py
@@ -0,0 +1,34 @@
+#! /usr/bin/python3
+
+import unittest
+
+def pattern132(l):
+ o = []
+ for a in range(0, len(l) - 2):
+ for b in range(a + 1, len(l) - 1):
+ if l[a] < l[b]:
+ for c in range(b + 1, len(l)):
+ if l[b] > l[c] and l[a] < l[c]:
+ o = [l[a], l[b], l[c]]
+ break
+ if len(o) > 0:
+ break
+ if len(o) > 0:
+ break
+ return o
+
+class TestPattern132(unittest.TestCase):
+
+ def test_ex1(self):
+ self.assertEqual(pattern132([3, 1, 4, 2]), [1, 4, 2], 'example 1')
+
+ def test_ex2(self):
+ self.assertEqual(pattern132([1, 2, 3, 4]), [], 'example 2')
+
+ def test_ex3(self):
+ self.assertEqual(pattern132([1, 3, 2, 4, 6, 5]), [1, 3, 2], 'example 3')
+
+ def test_ex4(self):
+ self.assertEqual(pattern132([1, 3, 4, 2]), [1, 3, 2], 'example 4')
+
+unittest.main()
diff --git a/challenge-196/roger-bell-west/python/ch-2.py b/challenge-196/roger-bell-west/python/ch-2.py
new file mode 100755
index 0000000000..caece39ab6
--- /dev/null
+++ b/challenge-196/roger-bell-west/python/ch-2.py
@@ -0,0 +1,30 @@
+#! /usr/bin/python3
+
+import unittest
+
+def rangelist(l):
+ o = []
+ start = l[0]
+ prev = start
+ for v in l[1:]:
+ if v != prev + 1:
+ if prev > start:
+ o.append([start, prev])
+ start = v
+ prev = v
+ if prev > start:
+ o.append([start, prev])
+ return o
+
+class TestRangelist(unittest.TestCase):
+
+ def test_ex1(self):
+ self.assertEqual(rangelist([1, 3, 4, 5, 7]), [[3, 5]], 'example 1')
+
+ def test_ex2(self):
+ self.assertEqual(rangelist([1, 2, 3, 6, 7, 9]), [[1, 3], [6, 7]], 'example 2')
+
+ def test_ex3(self):
+ self.assertEqual(rangelist([0, 1, 2, 4, 5, 6, 8, 9]), [[0, 2], [4, 6], [8, 9]], 'example 3')
+
+unittest.main()