python coding contest
Christoph Zwerschke
cito at online.de
Fri Dec 30 21:50:02 EST 2005
Mark Dickinson wrote:
> Here's a variant of André's brilliant idea that's
> 119 characters long, and fully printable:
>
> j=''.join;seven_seg=lambda z:j(j(' _ | |_ _|_|'
> [ord('^r|=Zm.:v\r'[int(a)])%u*2:][:3]for a in z)
> +"\n"for u in(3,7,8))
You have an escaped CR (\r) as the last character in your string.
Here is a 118 character fully printable variant without the \r:
j=''.join;seven_seg=lambda x:j(j(' _ |_|_ _|
|'[ord('^rm=3|4:s»'[int(c)])%d*2:][:3]for c in x)+"\n"for d in(3,8,7))
Note that there is only one non-ascii character in the code.
However, André's final solution is one character shorter (117).
-- Christoph
More information about the Python-list
mailing list