$10K coding deathmatch
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.
More information about the PLUG