On 15 October 2012 20:51, Chris Angelico <span dir="ltr"><<a href="mailto:rosuav@gmail.com" target="_blank">rosuav@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">On Tue, Oct 16, 2012 at 6:28 AM, Mark Lawrence <<a href="mailto:breamoreboy@yahoo.co.uk">breamoreboy@yahoo.co.uk</a>> wrote:<br>
> I like clearly written code like this<br>
><br>
> "<br>
</div><div class="im">> d = {}<br>
> for c in (65, 97):<br>
>     for i in range(26):<br>
>         d[chr(i+c)] = chr((i+13) % 26 + c)<br>
><br>
> print "".join([d.get(c, c) for c in s])<br>
<br>
</div>Surely there's a shorter way to rot13 a piece of text? CODE GOLF!<br>
<br>
At very least, a single cryptic expression in place of your nice clear<br>
loops MUST be an improvement.<br>
<br>
d = dict((chr(i+c),chr((i+13)%26+c))for i in range(26)for c in(65,97))<br>
<br>
And with superfluous spaces removed like that, it takes 0.02<br>
jiggawatts less power in DeLorean Python.<br></blockquote><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<font face="courier new, monospace">print("".join(chr([[ł,(ł+21)%26+96],[ł%26+65]][64<ł<91][96<ł<123])for ł in map(ord,s)))</font></blockquote><div><br></div><div>That was fun. Remember, Unicode has more characters, so you can fit more code in less space.</div>

<div><br></div><div><<i>Oh God, what have I done?!></i></div></div>