diff options
| author | Paulo Custodio <pauloscustodio@gmail.com> | 2021-12-06 14:55:30 +0000 |
|---|---|---|
| committer | Paulo Custodio <pauloscustodio@gmail.com> | 2021-12-06 14:55:30 +0000 |
| commit | cd04687f29d4ebea2fd5ec165585b21f2951f413 (patch) | |
| tree | 5c17b623d6b7a8cb803a4464f19d157152143e62 /challenge-141/mohammad-anwar/python/ch-2.py | |
| parent | fe57a0405720a40beaeb75100e069aaa13e4c49e (diff) | |
| parent | b9773f5c38387d865a093d2ecdfd1b01b4452c34 (diff) | |
| download | perlweeklychallenge-club-cd04687f29d4ebea2fd5ec165585b21f2951f413.tar.gz perlweeklychallenge-club-cd04687f29d4ebea2fd5ec165585b21f2951f413.tar.bz2 perlweeklychallenge-club-cd04687f29d4ebea2fd5ec165585b21f2951f413.zip | |
Merge branch 'master' into devel
Diffstat (limited to 'challenge-141/mohammad-anwar/python/ch-2.py')
| -rw-r--r-- | challenge-141/mohammad-anwar/python/ch-2.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/challenge-141/mohammad-anwar/python/ch-2.py b/challenge-141/mohammad-anwar/python/ch-2.py new file mode 100644 index 0000000000..96b013c73c --- /dev/null +++ b/challenge-141/mohammad-anwar/python/ch-2.py @@ -0,0 +1,51 @@ +#!/usr/bin/python3 + +''' + +Week 141: + + https://theweeklychallenge.org/blog/perl-weekly-challenge-141 + +Task #1: Like Numbers + + You are given positive integers, $m and $n. + + Write a script to find total count of integers created using the digits of $m which is also divisible by $n. + +''' + +from itertools import combinations +import unittest + +def like_numbers(m, n): + numbers = [] + m_digits = [int(a) for a in str(m)] + + for i in range(1, len(m_digits)): + divisors = [] + for j in combinations(m_digits, i): + num = int(''.join(str(x) for x in (j))) + if num % n == 0: + numbers.append(num) + + return numbers + +# +# +# Unit test class + +class TestJortSort(unittest.TestCase): + + def test_example_1(self): + self.assertEqual( + like_numbers(1234, 2), + [2, 4, 12, 14, 24, 34, 124, 134, 234], + 'Example 1') + + def test_example_2(self): + self.assertEqual( + like_numbers(768, 4), + [8, 76, 68], + 'Example 2') + +unittest.main() |
