From d62ebf7274ae69e689bcec73ac0400e7f827f4ba Mon Sep 17 00:00:00 2001 From: Vivek Date: Sat, 20 Jun 2026 11:33:40 +0530 Subject: [PATCH 1/5] corrected the typos --- strings/camel_case_to_snake_case.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/strings/camel_case_to_snake_case.py b/strings/camel_case_to_snake_case.py index 582907be2edb..a01b8e4c06bb 100644 --- a/strings/camel_case_to_snake_case.py +++ b/strings/camel_case_to_snake_case.py @@ -5,8 +5,8 @@ def camel_to_snake_case(input_str: str) -> str: >>> camel_to_snake_case("someRandomString") 'some_random_string' - >>> camel_to_snake_case("SomeRandomStr#ng") - 'some_random_str_ng' + >>> camel_to_snake_case("SomeRandomString") + 'some_random_string' >>> camel_to_snake_case("123someRandom123String123") '123_some_random_123_string_123' From 7fde9ffd906c2c4fe32c1d8ba90830bc2bc7d4e7 Mon Sep 17 00:00:00 2001 From: Vivek Date: Sun, 21 Jun 2026 21:26:49 +0530 Subject: [PATCH 2/5] added new file secret_language --- strings/Secret_language.py | 92 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 strings/Secret_language.py diff --git a/strings/Secret_language.py b/strings/Secret_language.py new file mode 100644 index 000000000000..0984c6bbe37b --- /dev/null +++ b/strings/Secret_language.py @@ -0,0 +1,92 @@ +# Encoding & Decoding + +import random +import string + + +def random_chars() -> str: + ''' + Generate a random string of 3 ASCII letters. + + >>> import random + >>> len(random_chars()) == 3 + True + + + >>> all(c in string.ascii_letters for c in random_chars()) + True + + + + ''' + return ''.join(random.choices(string.ascii_letters, k=3)) + + +def random_digits() -> str: + """ + create a random string of 3 digits. + + >>> len(random_digits()) == 3 + True + + + + >>> all(c in string.digits for c in random_digits()) + True + """ + return ''.join(random.choices(string.digits, k=3)) + + +def encode(code: str) -> str: + """ + Encode a string by shifting the first character to the end and + wrapping it with random padding of 3 letters and 3 digits on each side. + + Reference: https://en.wikipedia.org/wiki/Caesar_cipher + + >>> len(encode('hello')) == len('hello') + 12 + True + >>> len(encode('hi')) == len('hi') + 12 + True + + + """ + if len(code) >= 3: + code = code[1:] + code[0] + code = random_chars() + random_digits() + code + random_digits() + random_chars() + else: + code = code[::-1] + code = random_chars() + random_digits() + code + random_digits() + random_chars() + return code + + +def decode(code: str) -> str: + """ + Decode an encoded string by stripping the random padding and + reversing the character shift. + + >>> decode(encode('hello')) + 'hello' + >>> decode(encode('hi')) + 'hi' + >>> decode(encode('python')) + 'python' + + + + """ + code = code[6:-6] + if len(code) >= 3: + code = code[-1] + code[:-1] + else: + code = code[::-1] + return code + + +if __name__ == "__main__": + code = input("Enter the code: ") + encoded = encode(code) + decoded = decode(encoded) + print(f"Original → {code}") + print(f"Encoded → {encoded}") + print(f"Decoded → {decoded}") \ No newline at end of file From 14222f933694f4a02aa1964b8ad526a36e794b67 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 21 Jun 2026 16:01:19 +0000 Subject: [PATCH 3/5] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- strings/Secret_language.py | 54 ++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/strings/Secret_language.py b/strings/Secret_language.py index 0984c6bbe37b..58c9dfee6561 100644 --- a/strings/Secret_language.py +++ b/strings/Secret_language.py @@ -5,36 +5,36 @@ def random_chars() -> str: - ''' + """ Generate a random string of 3 ASCII letters. >>> import random >>> len(random_chars()) == 3 True - - + + >>> all(c in string.ascii_letters for c in random_chars()) True - - - - ''' - return ''.join(random.choices(string.ascii_letters, k=3)) + + + + """ + return "".join(random.choices(string.ascii_letters, k=3)) def random_digits() -> str: """ - create a random string of 3 digits. + create a random string of 3 digits. - >>> len(random_digits()) == 3 - True - - - - >>> all(c in string.digits for c in random_digits()) - True + >>> len(random_digits()) == 3 + True + + + + >>> all(c in string.digits for c in random_digits()) + True """ - return ''.join(random.choices(string.digits, k=3)) + return "".join(random.choices(string.digits, k=3)) def encode(code: str) -> str: @@ -48,15 +48,19 @@ def encode(code: str) -> str: True >>> len(encode('hi')) == len('hi') + 12 True - - + + """ if len(code) >= 3: code = code[1:] + code[0] - code = random_chars() + random_digits() + code + random_digits() + random_chars() + code = ( + random_chars() + random_digits() + code + random_digits() + random_chars() + ) else: code = code[::-1] - code = random_chars() + random_digits() + code + random_digits() + random_chars() + code = ( + random_chars() + random_digits() + code + random_digits() + random_chars() + ) return code @@ -71,9 +75,9 @@ def decode(code: str) -> str: 'hi' >>> decode(encode('python')) 'python' - - - + + + """ code = code[6:-6] if len(code) >= 3: @@ -89,4 +93,4 @@ def decode(code: str) -> str: decoded = decode(encoded) print(f"Original → {code}") print(f"Encoded → {encoded}") - print(f"Decoded → {decoded}") \ No newline at end of file + print(f"Decoded → {decoded}") From 179cc83f3e98d2f2fd24f2dd0c2ab37c78445431 Mon Sep 17 00:00:00 2001 From: Vivek Date: Sun, 21 Jun 2026 21:46:39 +0530 Subject: [PATCH 4/5] Fix ruff linting issue in decode function --- strings/Secret_language.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/strings/Secret_language.py b/strings/Secret_language.py index 58c9dfee6561..98d5f098e062 100644 --- a/strings/Secret_language.py +++ b/strings/Secret_language.py @@ -80,10 +80,7 @@ def decode(code: str) -> str: """ code = code[6:-6] - if len(code) >= 3: - code = code[-1] + code[:-1] - else: - code = code[::-1] + code = code[-1] + code[:-1] if len(code) >= 3 else code[::-1] return code From 4cabf5956296d3dfdd86e12c6399bb513f6a6c26 Mon Sep 17 00:00:00 2001 From: Vivek Date: Sun, 21 Jun 2026 21:54:21 +0530 Subject: [PATCH 5/5] Rename Secret_language.py to secret_language.py --- strings/{Secret_language.py => secret_language.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename strings/{Secret_language.py => secret_language.py} (100%) diff --git a/strings/Secret_language.py b/strings/secret_language.py similarity index 100% rename from strings/Secret_language.py rename to strings/secret_language.py