aboutsummaryrefslogtreecommitdiff
path: root/challenge-252/roger-bell-west/python
diff options
context:
space:
mode:
authorRoger Bell_West <roger@firedrake.org>2024-01-16 14:13:30 +0000
committerRoger Bell_West <roger@firedrake.org>2024-01-16 14:13:30 +0000
commit81e18817e54f47758158bc184be04b8c2ea3107f (patch)
tree529f47d72368ed8da59830703afe02961d7fc150 /challenge-252/roger-bell-west/python
parent7efb373bb9adffa79f84825217015835805298b5 (diff)
downloadperlweeklychallenge-club-81e18817e54f47758158bc184be04b8c2ea3107f.tar.gz
perlweeklychallenge-club-81e18817e54f47758158bc184be04b8c2ea3107f.tar.bz2
perlweeklychallenge-club-81e18817e54f47758158bc184be04b8c2ea3107f.zip
RogerBW solutions for challenge no. 252
Diffstat (limited to 'challenge-252/roger-bell-west/python')
-rwxr-xr-xchallenge-252/roger-bell-west/python/ch-1.py20
-rwxr-xr-xchallenge-252/roger-bell-west/python/ch-2.py23
2 files changed, 43 insertions, 0 deletions
diff --git a/challenge-252/roger-bell-west/python/ch-1.py b/challenge-252/roger-bell-west/python/ch-1.py
new file mode 100755
index 0000000000..4e89dbfcc6
--- /dev/null
+++ b/challenge-252/roger-bell-west/python/ch-1.py
@@ -0,0 +1,20 @@
+#! /usr/bin/python3
+
+def specialnumbers(a):
+ t = 0
+ for i, v in enumerate(a):
+ if len(a) % (i + 1) == 0:
+ t += v * v
+ return t
+
+import unittest
+
+class TestSpecialnumbers(unittest.TestCase):
+
+ def test_ex1(self):
+ self.assertEqual(specialnumbers([1, 2, 3, 4]), 21, 'example 1')
+
+ def test_ex2(self):
+ self.assertEqual(specialnumbers([2, 7, 1, 19, 18, 3]), 63, 'example 2')
+
+unittest.main()
diff --git a/challenge-252/roger-bell-west/python/ch-2.py b/challenge-252/roger-bell-west/python/ch-2.py
new file mode 100755
index 0000000000..f8bf61a527
--- /dev/null
+++ b/challenge-252/roger-bell-west/python/ch-2.py
@@ -0,0 +1,23 @@
+#! /usr/bin/python3
+
+def uniquesumzero(n):
+ if n == 1:
+ return [0]
+ p = list(range(1, n))
+ p.append(-n * (n - 1) / 2)
+ return p
+
+import unittest
+
+class TestUniquesumzero(unittest.TestCase):
+
+ def test_ex1(self):
+ self.assertEqual(uniquesumzero(5), [1, 2, 3, 4, -10], 'example 1')
+
+ def test_ex2(self):
+ self.assertEqual(uniquesumzero(3), [1, 2, -3], 'example 2')
+
+ def test_ex3(self):
+ self.assertEqual(uniquesumzero(1), [0], 'example 3')
+
+unittest.main()