diff --git a/strings/lower.py b/strings/lower.py index d66dcd3b7a4e..61b37af4d895 100644 --- a/strings/lower.py +++ b/strings/lower.py @@ -18,15 +18,16 @@ def lower(word: str) -> str: >>> lower("whAT") 'what' """ - result = [] - - for char in word: - code = ord(char) - if ASCII_UPPERCASE_START <= code <= ASCII_UPPERCASE_END: - char = chr(code + ASCII_CASE_OFFSET) - result.append(char) - - return "".join(result) + start = ASCII_UPPERCASE_START + end = ASCII_UPPERCASE_END + offset = ASCII_CASE_OFFSET + + return "".join( + [ + chr(code + offset) if start <= (code := ord(char)) <= end else char + for char in word + ] + ) if __name__ == "__main__":