From 086e57c56348285068f346a5a0053f61a939512b Mon Sep 17 00:00:00 2001 From: Roger Bell_West Date: Mon, 7 Sep 2020 10:27:36 +0100 Subject: Solutions for challenge #77. --- challenge-077/roger-bell-west/python/ch-2.py | 33 ++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 challenge-077/roger-bell-west/python/ch-2.py (limited to 'challenge-077/roger-bell-west/python/ch-2.py') 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() -- cgit