Je me suis dit qu'un petit peu de code golfing pourrait être une bonne idée !
Si vous ne connaissez pas, le code golf est un type de concours d'informatique où les participants essayent de produire dans le langage de leur choix le programme dont le code source est le plus court possible.
Si vous avez une idée de concours, je l'ajouterai au post.
Vous pouvez aussi poster une ligne de code dont vous êtes particulièrement fier de la concision.
Si vous ne comprenez pas un code, n'hésitez pas à demander une explication.
Concours 1 : FizzBuzz Obfusqué
Il s'agit de produire un Fuzz Buzz comptant jusqu'à l'infini.
Petite contrainte : ne pas utiliser les nombres 3, 5 ou 15 ou les chaînes "Fizz", "Buzz" ou "FizzBuzz" dans le code.
58 caractères :
i=0
while 1:i+=1;print' zzuBzziF'[12&8+i%~2:i%~4&4:-1]or i
Concours 2 : Isomorphismes d'arbres
Il s'agit d'écrire une fonction qui teste si deux arbres sont isomorphes, c'est-à-dire que l'on peut passer de l'un à l'autre en renommant les sommets. Le challenge est tiré de StackExchange.
Il y a une solution qui n'est pas de moi mais qui est super belle.
83 caractères :
f=lambda l,i=0:sorted(f(l,j+1)for j,e in enumerate(l)if e==i)
lambda a,b:f(a)==f(b)