aboutsummaryrefslogtreecommitdiff
path: root/challenge-190/mohammad-anwar/python/ch-1.py
diff options
context:
space:
mode:
authordcw <d.white@imperial.ac.uk>2022-11-20 20:38:56 +0000
committerdcw <d.white@imperial.ac.uk>2022-11-20 20:38:56 +0000
commit3956a95b61015a8abb5aab29015ea85e594877e0 (patch)
tree699b2a0c2181d7c50510c33954598e640187e54d /challenge-190/mohammad-anwar/python/ch-1.py
parente2232acaf7deca62a2551afe032cdef96055cae5 (diff)
parentbde0adaf7b8dfe99c4e494c932d8702eb8cf9a56 (diff)
downloadperlweeklychallenge-club-3956a95b61015a8abb5aab29015ea85e594877e0.tar.gz
perlweeklychallenge-club-3956a95b61015a8abb5aab29015ea85e594877e0.tar.bz2
perlweeklychallenge-club-3956a95b61015a8abb5aab29015ea85e594877e0.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'challenge-190/mohammad-anwar/python/ch-1.py')
-rw-r--r--challenge-190/mohammad-anwar/python/ch-1.py48
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()