aboutsummaryrefslogtreecommitdiff
path: root/challenge-060/manfredi/python/ch-1.py
blob: a430467f8137d8b9e9de434884d4173d592d3de0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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] ] )