diff options
Diffstat (limited to 'challenge-077/roger-bell-west/python/ch-2.py')
| -rwxr-xr-x | challenge-077/roger-bell-west/python/ch-2.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/challenge-077/roger-bell-west/python/ch-2.py b/challenge-077/roger-bell-west/python/ch-2.py new file mode 100755 index 0000000000..d5ad3c7cab --- /dev/null +++ b/challenge-077/roger-bell-west/python/ch-2.py @@ -0,0 +1,33 @@ +#! /usr/bin/python3 + +import unittest + +def nx(n): + mr=len(n)-1 + mc=len(n[0])-1 + isol=0 + for r in (range(0,mr+1)): + for c in (range(0,mc+1)): + if n[r][c] != 'X': + continue + isolated=1 + for dr in (-1,0,1): + if (r+dr >= 0 and r+dr <= mr): + for dc in (-1,0,1): + if ((dc != 0 or dr != 0) and c+dc >= 0 and c+dc <= mc): + if n[r+dr][c+dc] == 'X': + isolated=0 + break + if (isolated): + isol += 1 + return isol + +class TestMajority(unittest.TestCase): + + def test_ex1(self): + self.assertEqual(nx(('O O X'.split(),'X O O'.split(),'X O O'.split())),1,'example 1') + + def test_ex2(self): + self.assertEqual(nx(('O O X O'.split(),'X O O O'.split(),'X O O X'.split(),'O X O O'.split())),2,'example 2') + +unittest.main() |
