$10K coding deathmatch

Levi Pearson levi at cold.org
Fri Nov 3 17:00:24 MST 2006


On Nov 3, 2006, at 4:30 PM, Andrew McNabb wrote:

> I'm a big fan of Python, but this example made me want to cry.
>
> Grounds for first bullet:
>>        value = reduce(lambda x,y: 0 < abs(x-y) <= len(nums) and y or
>>        None, [int(item) for item in nums])
>
> Grounds for second bullet:
>>        print '%smatch' % (not value and 'Not a ' or '')
>

Are you objecting to the use of logical operators as conditionals?   
The list comprehension?  The anonymous function?  The functional  
style in general?

The program looks pretty clear to me, aside from using logical  
operators instead of conditionals, but AFAIK there's no explicit  
conditional expression in Python so one doesn't have much choice when  
attempting to program in functional style.

The ugly part to me is where it relies on generating a type error to  
exit the reduce function upon failure.  My Lisp version did roughly  
the same thing, but explicitly threw an exception instead of relying  
on a runtime type error.

		--Levi



More information about the PLUG mailing list