Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

def birthday(people=23): import random days = 365 sample_size = 1000 return reduce(lambda x, y : x + y, (len(s) != len(set(s)) for s in (map(lambda x: random.choice(range(x)), (days, )*people) for i in range(sample_size))))

(two empty lines, then one space in front of every code line)



def birthday(people=23): from random import randint as rand; return sum([len(set([rand(1,365) for x in range(people)])) != people for i in range(1000)])

(constructs fewer inner lists, otherwise changes are completely cosmetic)


ah yes indeed much better! I tried to follow the K structure too much, but your code is too readable :D




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: