diff options
Diffstat (limited to 'challenge-145/sgreen/python')
| -rwxr-xr-x | challenge-145/sgreen/python/ch-1.py | 28 | ||||
| -rwxr-xr-x | challenge-145/sgreen/python/ch-2.py | 27 |
2 files changed, 55 insertions, 0 deletions
diff --git a/challenge-145/sgreen/python/ch-1.py b/challenge-145/sgreen/python/ch-1.py new file mode 100755 index 0000000000..7c18890304 --- /dev/null +++ b/challenge-145/sgreen/python/ch-1.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python + +import sys +import re + + +def main(inputs): + first_nums = list(map(int, re.findall(r'-?\d+', inputs[0]))) + second_nums = list(map(int, re.findall(r'-?\d+', inputs[1]))) + + if len(first_nums) != len(second_nums): + raise ValueError('Arrays are of different lengths') + + dots = [] + sums = [] + for i in range(len(first_nums)): + dots.append(f'({first_nums[i]} × {second_nums[i]})') + sums.append(first_nums[i] * second_nums[i]) + + print(' + '.join(dots) + + ' => ' + + ' + '.join(map(str, sums)) + + ' => ' + + str(sum(sums))) + + +if __name__ == '__main__': + main(sys.argv[1:]) diff --git a/challenge-145/sgreen/python/ch-2.py b/challenge-145/sgreen/python/ch-2.py new file mode 100755 index 0000000000..65ed569178 --- /dev/null +++ b/challenge-145/sgreen/python/ch-2.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python + +import sys + + +def main(word): + strings = [] + + # Make the starting point from each character + for i in range(len(word)): + + # And the end point + for j in range(i, len(word)): + + # This is string we will examine + s = word[i:j + 1] + + # If we don't already know about it, and it's palindromic, add + # it to the string array + if s not in strings and s == s[::-1]: + strings.append(s) + + print(*strings, sep=' ') + + +if __name__ == '__main__': + main(sys.argv[1]) |
