aboutsummaryrefslogtreecommitdiff
path: root/challenge-060
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-05-17 18:07:13 +0100
committerGitHub <noreply@github.com>2020-05-17 18:07:13 +0100
commit06ee94e33ca2291bb1f3dbaa7880b3ad891c937f (patch)
tree6dca069c8ecba656e992043de6a71b28e0eae9d1 /challenge-060
parent0bf0e3d1b3d3b7d3374e3d896cb142877f3178bb (diff)
parent2c3618139717b4f7716ba4b96567b78c2c7920a2 (diff)
downloadperlweeklychallenge-club-06ee94e33ca2291bb1f3dbaa7880b3ad891c937f.tar.gz
perlweeklychallenge-club-06ee94e33ca2291bb1f3dbaa7880b3ad891c937f.tar.bz2
perlweeklychallenge-club-06ee94e33ca2291bb1f3dbaa7880b3ad891c937f.zip
Merge pull request #1726 from manfredi/challenge-060
Solution Task #1 Python
Diffstat (limited to 'challenge-060')
-rwxr-xr-xchallenge-060/manfredi/python/ch-1.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/challenge-060/manfredi/python/ch-1.py b/challenge-060/manfredi/python/ch-1.py
new file mode 100755
index 0000000000..a430467f81
--- /dev/null
+++ b/challenge-060/manfredi/python/ch-1.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python3
+import re
+import sys
+from braceexpand import braceexpand
+
+
+if len(sys.argv) != 2:
+ print("USAGE:\n\t %s { ABC | 123 }" % __file__)
+ sys.exit()
+
+
+cols = []
+a = list(braceexpand('{A..Z}'))
+b = list(braceexpand('{A..Z}{A..Z}'))
+c = list(braceexpand('{A..Z}{A..Z}{A..Z}'))
+
+cols.extend(a)
+cols.extend(b)
+cols.extend(c)
+
+nums = [ n for n in range(1, len(cols) + 1) ]
+
+hcols = dict()
+hnums = dict()
+
+for i in range(len(cols)):
+ hcols[ str(cols[i]) ] = nums[i]
+ hnums[ str(nums[i]) ] = cols[i]
+
+
+pattern_nums = re.compile(r'^\d+$')
+pattern_cols = re.compile(r'^[A-Z]{1,3}$')
+
+if pattern_nums.match(sys.argv[1]) and int(sys.argv[1]) <= len(nums):
+ print( hnums[ sys.argv[1] ] )
+
+if pattern_cols.match(sys.argv[1]):
+ print( hcols[ sys.argv[1] ] )
+