diff options
Diffstat (limited to 'challenge-190/mohammad-anwar/python')
| -rw-r--r-- | challenge-190/mohammad-anwar/python/ch-1.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/challenge-190/mohammad-anwar/python/ch-1.py b/challenge-190/mohammad-anwar/python/ch-1.py new file mode 100644 index 0000000000..78d730abea --- /dev/null +++ b/challenge-190/mohammad-anwar/python/ch-1.py @@ -0,0 +1,48 @@ +#!/usr/bin/python3 + +''' + +Week 190: + + https://theweeklychallenge.org/blog/perl-weekly-challenge-190 + +Task #1: Capital Detection + + You are given a string with alphabetic characters only: + A..Z and a..z. + + Write a script to find out if the usage of Capital is appropriate + if it satisfies at least one of the following rules: + + 1) Only first letter is capital and all others are small. + 2) Every letter is small. + 3) Every letter is capital. + +''' + +import re +import unittest + +def capitalDetection(str) -> bool: + if bool(re.search('^[A-Za-z]+$', str)): + if bool(re.search('^[A-Z][a-z]+$', str)): + return True + if bool(re.search('^[a-z]+$', str)): + return True + if bool(re.search('^[A-Z]+$', str)): + return True + + return False; + +# +# +# Unit test class + +class TestCapitalDetection(unittest.TestCase): + def test_capitalDetection(self): + self.assertTrue(capitalDetection('Perl'), 'Example 1') + self.assertTrue(capitalDetection('TPF'), 'Example 2') + self.assertFalse(capitalDetection('PyThon'), 'Example 3') + self.assertTrue(capitalDetection('raku'), 'Example 4') + +unittest.main() |
