aboutsummaryrefslogtreecommitdiff
path: root/challenge-113/roger-bell-west/python
diff options
context:
space:
mode:
authorRoger Bell_West <roger@firedrake.org>2021-05-17 12:59:43 +0100
committerRoger Bell_West <roger@firedrake.org>2021-05-17 12:59:43 +0100
commit0bdf5928c01ed343627fb572ba43ec2e77bd43f7 (patch)
treeec3629406fae82b6c03ff771b7af7e5adc90129b /challenge-113/roger-bell-west/python
parentc3cd45087006d3f63b05219b8280a25dc1ea7ba9 (diff)
downloadperlweeklychallenge-club-0bdf5928c01ed343627fb572ba43ec2e77bd43f7.tar.gz
perlweeklychallenge-club-0bdf5928c01ed343627fb572ba43ec2e77bd43f7.tar.bz2
perlweeklychallenge-club-0bdf5928c01ed343627fb572ba43ec2e77bd43f7.zip
Solutions for challenge #113
Diffstat (limited to 'challenge-113/roger-bell-west/python')
-rwxr-xr-xchallenge-113/roger-bell-west/python/ch-1.py27
-rwxr-xr-xchallenge-113/roger-bell-west/python/ch-2.py23
2 files changed, 50 insertions, 0 deletions
diff --git a/challenge-113/roger-bell-west/python/ch-1.py b/challenge-113/roger-bell-west/python/ch-1.py
new file mode 100755
index 0000000000..4252d22ba5
--- /dev/null
+++ b/challenge-113/roger-bell-west/python/ch-1.py
@@ -0,0 +1,27 @@
+#! /usr/bin/python3
+
+import unittest
+import re
+
+def ri(n,d):
+ dd=re.compile(".*"+str(d)+".*")
+ e=[i for i in range(1,n+1) if re.match(dd,str(i))]
+ for i in range(1,1<<len(e)):
+ s=0
+ for ii in range(len(e)):
+ if 1<<ii & i:
+ s += e[ii]
+ if s==n:
+ return 1
+ return 0
+
+class TestRi(unittest.TestCase):
+
+ def test_ex1(self):
+ self.assertEqual(ri(25,7),0,'example 1')
+
+ def test_ex2(self):
+ self.assertEqual(ri(24,7),1,'example 2')
+
+
+unittest.main()
diff --git a/challenge-113/roger-bell-west/python/ch-2.py b/challenge-113/roger-bell-west/python/ch-2.py
new file mode 100755
index 0000000000..48a01cb2b0
--- /dev/null
+++ b/challenge-113/roger-bell-west/python/ch-2.py
@@ -0,0 +1,23 @@
+#! /usr/bin/python3
+
+import unittest
+
+def rbt(ti):
+ s=0
+ for n in ti:
+ if n>0:
+ s += n
+ to=list()
+ for n in ti:
+ if n>0:
+ to.append(s-n)
+ else:
+ to.append(n)
+ return to
+
+class TestRbt(unittest.TestCase):
+
+ def test_ex1(self):
+ self.assertEqual(rbt([1,2,3,4,-1,5,6,-1,7]),[27,26,25,24,-1,23,22,-1,21],'example 1')
+
+unittest.main()