ぜひ手元の環境でこの定数の値がなんなのか確かめてください。
無理に頭良さそうなコードを書こうとしてはいけない。
ASCII_ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
で何がいけなかったのか…
ASCII_ALPHABET = "".join(chr(0x40 + i) for i in range(26)).join(chr(0x61 + i) for i in range(26)) # ascii A-Za-z
打ち損ね防止でわざとforで結合しようとしたんでしょうけれど、printコマンドでチェックしてもらえないとな~