Skip to content

Commit 1c2704e

Browse files
Raise ValueError for invalid A1Z26 input
1 parent 25bcced commit 1c2704e

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

ciphers/a1z26.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,33 @@
88

99
from __future__ import annotations
1010

11+
import string
12+
1113

1214
def encode(plain: str) -> list[int]:
1315
"""
1416
>>> encode("myname")
1517
[13, 25, 14, 1, 13, 5]
18+
19+
>>> encode("")
20+
Traceback (most recent call last):
21+
...
22+
ValueError: Input must contain only lowercase letters a-z.
23+
24+
>>> encode("HELLO")
25+
Traceback (most recent call last):
26+
...
27+
ValueError: Input must contain only lowercase letters a-z.
28+
29+
>>> encode("hi there")
30+
Traceback (most recent call last):
31+
...
32+
ValueError: Input must contain only lowercase letters a-z.
1633
"""
34+
35+
if not plain or any(ch not in string.ascii_lowercase for ch in plain):
36+
raise ValueError("Input must contain only lowercase letters a-z.")
37+
1738
return [ord(elem) - 96 for elem in plain]
1839

1940

0 commit comments

Comments
 (0)