python coding contest
Shane Hathaway
shane at hathawaymix.org
Fri Dec 30 12:07:50 EST 2005
Tim Hochberg wrote:
> g=''.join;seven_seg=lambda i:g(
> g(' _|x|'[ord("~$]m'k{d\x7fo"[int(n)])>>s&j]
> for n in i for j in(2,1,4))+'\n'for s in(6,0,3))
>
> I've replaced the unprintable characters and added some preemptive
> linebreaks so that hopefully this won't get too munged. It's all clear
> now, right? Two hints: 6,0,3->row, 2,1,4->column and the 6 and 1 have to
> be where they are to exploit the property that the top row only ever has
> a center character in it. That way things can be encoded in 7-bits and
> fit in a character string that Python likes. The order of the other loop
> indices is mostly accidental but not all permutations may work.
I worked on a similar solution, but didn't have the idea of iterating
over a series of masks as you did with the 'j' variable. Good work.
> I'm off to try to figure out how to do it the other way now, before the
> code gets revealed.
We should have more contests like this. While the skills I applied for
the contest don't have much practical value, the mental exercise was great.
Shane
More information about the Python-list
mailing list