-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhelpers.py
47 lines (37 loc) · 1.29 KB
/
helpers.py
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
40
41
42
43
44
45
46
47
def char_to_number(character: str, reference = None):
if len(character) != 1:
print("Not a character")
return None
if reference == None:
if not character.isalpha():
print(f"{character} is not alphabetic")
return None
if character.islower():
return ord(character) - ord('a')
if character.isupper():
return ord(character) - ord('A')
else:
if len(reference) == 1:
return ord(character) - ord(reference)
if reference == "lu":
if character.islower():
return ord(character) - ord('a')
if character.isupper():
return ord(character) - ord('A') + 26
if reference == 'ul':
if character.islower():
return ord(character) - ord('a') + 26
if character.isupper():
return ord(character) - ord('A')
def grouped(iterable, n):
return zip(*[iter(iterable)]*n)
def pad(text, char):
lines = text.splitlines()
line_len = len(lines[0])
padded = [char * (line_len+2)]
for line in lines:
padded.append(char + line + char)
padded.append(char * (line_len+2))
return "\n".join(padded)
def tadd(a: tuple[int],b: tuple[int]):
return (x+y for x, y in zip(a,b))