Vous connaissez déjà le principe des « Clash of Code » , je suppose. Eh bien je viens d’en gagner un haut la main grâce à Numpy !
L’exercice à résoudre en 15 min ? On te donne un entier start
, un entier end
et un entier count
, à toi de générer une liste de count
entiers entre start
et end
. Exactement ce que fait la fonction linspace
de Numpy.
Et si jamais ça marchait ? Et si je pouvais utiliser Numpy sur CodinGame ? Le cœur battant la chamade, les doigts transpirants, je tape import numpy as np
en haut de mon code et là miracle ! le code compile parfaitement. Ni une ni deux, je finis mon code, qui est fort peu lisible car le but était de faire le code le plus court possible.
1 2 3 4 | import numpy as n s,e,c=[int(i) for i in input().split()] if (s,e,c)==(0,0,0):print('NONE') else:print(' '.join([str(y) for y in list(n.linspace(start=s,stop=e,num=c,dtype=int))])) |
Je suis sympa, voici une version plus aérée.
1 2 3 4 5 6 7 8 9 | import numpy as np start, end, count = (1, 100, 10) if (start, end, count) == (0, 0, 0): print('NONE') else: r = list(np.linspace(start = start, stop = end, num = count, dtype = int)) print(' '.join([str(y) for y in r])) |
En conclusion
- Je ne sais pas si faire du C est très courageux ou suicidaire.
- En JavaScript y’a que dalle, faut quasiment tout recoder à la main.
- La plupart des exercices en rapport avec les maths sont remportés haut la main en Ruby, parce que ce langage est cool et inclut de façon standard pleins de trucs mathématiques : PPCM, nombres premiers, etc.