from functools import partial
ciphertext = 'vclguba-abgrobbx'
substitution_map_rot13 = dict(zip('abcdefghijklmnopqrstuvwxyz', 'nopqrstuvwxyzabcdefghijklm'))
substitute = lambda mapping, data: ''.join(mapping.get(c, c) for c in data)
rot13 = partial(substitute, substitution_map_rot13)
plaintext = rot13(ciphertext)
plaintext