from itertools import cycle
ALPHA = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
def main():
encrypt_code = codeer('NOBODY EXPECTS THE SPANISH INQUISITION!', 'CIRCUS')
print("{}".format(encrypt_code))
def codeer(tekst, sleutel):
pairs = zip(tekst, cycle(sleutel))
code = ""
for pair in pairs:
if pair[0].isupper():
total = reduce(lambda x, y: ALPHA.index(x) + ALPHA.index(y), pair)
code += ALPHA[total % 26]
else:
code += pair[0]
return code
main()
ZnJvbSBpdGVydG9vbHMgaW1wb3J0IGN5Y2xlCgpBTFBIQSA9ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiIKCmRlZiBtYWluKCk6CiAgICBlbmNyeXB0X2NvZGUgPSBjb2RlZXIoJ05PQk9EWSBFWFBFQ1RTIFRIRSBTUEFOSVNIIElOUVVJU0lUSU9OIScsICdDSVJDVVMnKQogICAgcHJpbnQoInt9Ii5mb3JtYXQoZW5jcnlwdF9jb2RlKSkKCmRlZiBjb2RlZXIodGVrc3QsIHNsZXV0ZWwpOgogICAgcGFpcnMgPSB6aXAodGVrc3QsIGN5Y2xlKHNsZXV0ZWwpKQogICAgY29kZSA9ICIiCgogICAgZm9yIHBhaXIgaW4gcGFpcnM6CiAgICAJaWYgcGFpclswXS5pc3VwcGVyKCk6CiAgICAgICAgICAgIHRvdGFsID0gcmVkdWNlKGxhbWJkYSB4LCB5OiBBTFBIQS5pbmRleCh4KSArIEFMUEhBLmluZGV4KHkpLCBwYWlyKQogICAgICAgICAgICBjb2RlICs9IEFMUEhBW3RvdGFsICUgMjZdCiAgICAgICAgZWxzZToKICAgICAgICAJY29kZSArPSBwYWlyWzBdCiAgICByZXR1cm4gY29kZQoKbWFpbigp