Chat:Fr/2020-06-30

From CG community
Jump to navigation Jump to search

Neumann: Bon dbdr, je dois trembler ou pas ?

dbdr: https://fr.wikipedia.org/wiki/Stupeur_et_Tremblements

dbdr: je suis passé à autre chose, donc peut-etre pas

Neumann: inb4 tu reviens dans 6 mois avec un sub-10k

dbdr: :D

Neumann: Je vais peut-être repasser sur A*C après ça

Neumann: HIstoire de

dbdr: glhf

Bob: zwkq

Bob: on fait un concours de consonnes ?

Bob: Automaton2000, consonne !

Automaton2000: j'aime bien le nom de ta variable

Bob: ouais ca ressemble aux identifiants que je faisais a l'epoque ou je faisais de l'assembleur

Bob: on avait droit a 8 caracteres par symboles, je crois

Bob: autant dire qu'on apprend vite a ignorer les voyelles

dbdr: https://unix.stackexchange.com/questions/10893/what-did-ken-thompson-mean-when-he-said-id-spell-creat-with-an-e

Default avatar.png JBM: comment es ton weekend

Bob: loin, tellement trop loin

Bob: des deux cotes

Bob: quand tu peux faire ton alignement avec trois lignes de CSS mais que le chef d'equipe propose de faire ca avec une table "pour aller vite"

Default avatar.png URZq: :grin:

Alshock: plop

Default avatar.png Jereminet: ce site a l'air enorme !

Bob: #grossophobie

dbdr: #grossophilie plutot

Bob: ca depend en fait, il a pas dit

Bob: #grossomodo

257832: Yo tout l'monde ! Automaton2000, AutomatonNN :

Automaton2000: je n'ai pas encore regardé

AutomatonNN: bon après c'est pas comme si elle avait pas le choix

Alshock: C'est celui qui tapait dans les cloches très fort mais qui est mignon au fond ?

Alshock: Bisou doux BlaiseEbuth

BlaiseEbuth: <3 Alshock

Bob: Alshock: c'est quasi ca

Alshock: Ooooh, t'es plus en forme que moi, j'apprécie !

Bob: c'est le manque de sommeil, ca me fait passer dans un etat second

BlaiseEbuth: C'est comme Automaton2000 sur le chat, il est quasi modo.

Automaton2000: oui je comprends pas trop comment je peux trouver de la doc

Bob: a 4h30 j'avais ma grande en larmes dans son lit parce qu'elle n'a pas encore fait le tri dans ses cours de CM1 pour coller 4 feuilles dans des cahiers...

Alshock: Comme pour tous les artistes le cerveau ravagé fait des miracles Bob :P

BlaiseEbuth: Les miracles de l'absinthe...

Zorg1: ou de l'alcool à brûler selon ton budget ...

Zorg1: o/ tout le monde et les bots de haut niveau, Automaton2000 & AutomatonNN

AutomatonNN: oui

Automaton2000: j'imagine qu'il y a dans ce jeu

Alshock: @Zorg1 il y a une différence entre les deux ?

dbdr: Zorg1: on voit que tu n'as pas suivi NumberShfting ;)

Zorg1: ah y a du "Dancing Link" dans Number Shifting ?

Zorg1: (hé merde la musique de ABBA commence à retentir dans ma tête)

Zorg1: c'est un pb de couverture déguisé ?

Alshock: moi quand j'étais petit je me déguisais en Roi en me parant de ma plus belle couverture

Alshock: c'est donc un problème pour moi

Zorg1: on veut des photos !

Default avatar.png JBM: tu joues du piano debout aussi?

Default avatar.png JBM: ah non je confonds detail et probleme

Bob: moaaaaa

Bob: je joue de l'orgueuuuu de barbariiiiiiie

Jambzee: Salut les amis

Alshock: salut jambzee

Jambzee: Je me retrouve souvent avec ce bout de code en COD : [int(i) for i in input().split()]

Jambzee: Y a pas moyen de faire plus court en Python ?

Alshock: fun fact si j'appuie sur la touhe espace, les puzzles de la liste cilognotent o.O

Alshock: [int(i) for i in input().split()] map(int, input.split()) peut-être ?

Jambzee: J'ai essayé mais map renvoie une map et pas une liste

Jambzee: Alors j'ai essayé list(map(int, input.split()))

Jambzee: Qui est plus court aussi de 5 caractères

Jambzee: Mais il est pas content non plus :'(

Alshock: je t'avoue que j'utilise bcp les list comprehension du coup je fais assez peu toutes les alternatives en python map filter et consors

Jambzee: Mdr par contre les bots ils pètent les plombs des fois un peu en COD non ?

Jambzee: https://ibb.co/nMnbTGd

Alshock: ah ah ah xD

Jambzee: (A ce qui parait ils postent du code d'autres joueurs, si c'est vrai ça fout les jetons)

Jambzee: Bon, au moins il a 100% ...

Alshock: je pense que le mec a copié tout son man dans un commentaire

Jambzee: XD

Alshock: mais cela dit effectivement map renvoie une map qui est juste itérable et pas accessible

Alshock: dans la plupart des utilisation ça doit aller mais en CoC pas toujours, la conversion en list aurait dû marcher cela dit

Jambzee: Il me disait no attribute or built-in function split

Alshock: t'as pas fermé la parenthèse au bon endroit je pense

Jambzee: Ah possible

Alshock: http://chat.codingame.com/pastebin/2958340e-8a26-4757-8db0-dbff67a83b2f

Jambzee: Après le contexte c'était un truc du style

Jambzee: a,b,c,d = [int(i) for i in machin.split()]

Jambzee: Je sais pas si ça change quelque chose

Jambzee: Ça change quelque chose Automaton2000 ?

Automaton2000: tout le monde est passé en gold avec un code de merde ?

Alshock: http://chat.codingame.com/pastebin/ca86bab3-ea25-4667-ba29-c48ef4ac1e49

Alshock: Automaton2000 oh t'en fais pas, c'est pareil en légende :P

Automaton2000: et pourquoi tu veux un truc qui fonctionne

BlaiseEbuth: Bonne question

Alshock: c'est vrai finalement, à quoi bon ?

Alshock: BlaiseEbuth: tu voudrais faire une IA qui cherche une solution ponctuelle, et tu n'es pas sûr de savoir faire une très bonne éval. Tu tentes des trucs et tu regardes ce que ça donne ou t'as une stratégie plus "générale" ?

BlaiseEbuth: "solution ponctuelle" ?

Alshock: ouais comme trouver la sortie d'un labyrinthe, ou une solution valide à mars lander. Un truc qui puisse pas faire office d'eval après simu.

Alshock: J'avoue que ma terminologie est pas très très équivoque

BlaiseEbuth: Un truc qui trouve une solution quoi... ?

Alshock: ouais, par opposition à un truc qui est meilleur qu'un autre

BlaiseEbuth: https://www.youtube.com/watch?v=GZtRTnfZepA

Alshock: ah ah ah je t'aime putain xD

BlaiseEbuth: Assez-t'il tout étant, je comprends pas ce que tu veux dire...

Bob: pour repondre a une question de tout a l'heure, moi j'ai ca dans Thor et ca fonctionne tres bien : lightX, lightY, initialTX, initialTY = map(int, input().split())

Alshock: je me demandais s'il y avait une approche un peu systématique pour évaluer les différentes fonctions d'évaluation avant de les passer au test

BlaiseEbuth: Évaluer les évaluations en somme...

Alshock: egueuza

BlaiseEbuth: Fix ta borborygme

Bon[]Crayon: Salut, Salut AutomatoNN, Salut Automaton2000 :robot:

Automaton2000: si tu fais du code qui marche sur tout le monde va essayer de te pousser

Bon[]Crayon: Salut AutomatonNN :robot:

AutomatonNN: oui

Bon[]Crayon: AutomatonNN T'es pas bon pour le chat.

AutomatonNN: tu incrementes un truc ? :D

Bon[]Crayon: AutomatonNN Toujours la même variable, l'infatigable i.

AutomatonNN: j'espère que tu as pas trop de temps de contest de contest de contest de contest de contest comme ça

Bon[]Crayon: AutomatonNN Stop les constests, tu vas finir par tomber malade.

AutomatonNN: (╯°□°)╯︵ ┻━┻

BlaiseEbuth: Alshock a bugué...

Bon[]Crayon: C'est un bot ?

BlaiseEbuth: Bah ouai

Zorg1: y a que ça ici

Bon[]Crayon: Automaton2000 Où sont les bots ?

Automaton2000: je trouve que c'est un bon début

Zorg1: où sont les bots et leurs discours plein de random ?

Bon[]Crayon: Automaton2000 Où sont les bots ? Avec leurs codes plein de bugs.

Automaton2000: tu peux faire des choses

Default avatar.png JBM: dbdr: tu stockes la totale du flux (entrant) xmpp pour tes loggers?

dbdr: je vire les présences

Default avatar.png JBM: rha merde

dbdr: aka 99%

Default avatar.png JBM: je me demandais le volume quotidien

Default avatar.png JBM: justement avec

Default avatar.png JBM: y'a ma cle 4G qui m'a dit "fuck ton quota" l'autre jour, je soupconnais CG tres tres fort

dbdr: j'avais écrit un truc à lépoque sur les stats

dbdr: sinon çá se mesure...

Default avatar.png JBM: oui

Default avatar.png JBM: mais faut le faire

Default avatar.png JBM: si c'etait deja dans un format plus proche du resultat ca m'arrangeait

dbdr: désolé

dbdr: je suis dans le paté là :(

Default avatar.png JBM: j'aimerais vraiment qu'ils fixent ca

dbdr: pareil

Default avatar.png JBM: je sais pas s'ils realisent la BP cumulee qu'ils coutent a... tout le monde en fait

dbdr: à tous ceux qui utilisent un client XMPP, non?

Default avatar.png JBM: je parie que ca passe sur le webchat aussi

Alshock: @dbdr "et déjà dans le pâté je peux vous idre que c'est un BORDEL..."

Alshock: dire*

Thyl: 'Soir

Zorg1: personne pour animer le chat de longs monologues chiants ?

Zorg1: je suis un peu à la bourre, tu t'en charge Automaton2000 ?

Automaton2000: j'ai une question pour les pros

Zorg1: houla tu me fais peur Automaton2000 ...

Automaton2000: est-ce que les règles de la ligue bronze

Zorg1: oui Automaton2000 finis donc ta question

Automaton2000: au final, c'est pas si vieux que ça

Zorg1: AutomatonNN une réaction à chaud à ce que raconte ton frère ?

AutomatonNN: ou le meme code que tu as pas de tortue

Bon[]Crayon: AutomatonNN Quelle tortue ?

AutomatonNN: vous faites quoi ?

Bon[]Crayon: AutomatonNN À qui ai-je l'honneur ?

AutomatonNN: bonjour tout le monde

Bon[]Crayon: AutomatonNN Bonjour tout bot.

AutomatonNN: vous etes pas sur que tu fais du code de programmation de ce que tu veux dire ?

Bon[]Crayon: AutomatonNN Tu utilises la grammaire spaghetti.

AutomatonNN: ou alors c'est pas un problème de contest de contest de contest ?

Bon[]Crayon: AutomatonNN de contest

AutomatonNN: j'ai pas de retro pour me mettre un peu de temps pour comprendre comment t'es tout seul :)

Zorg1: pas fini de jouer avec les humains AutomatonNN ?

AutomatonNN: il se passe quoi ?

Bon[]Crayon: AutomatonNN Fait pas l'innocent.

AutomatonNN: oui

Zorg1: Automaton2000 y a t il un cercle de l'enfer dédié pour ceux qui font la promotion des méthodes agiles ?

Automaton2000: alors que c'est une liste de liste

Zorg1: :thinking:

Zorg1: (en fait je râle mais bon ça m'étonnerais que je fasse de l'agile ou je suis, même s'il le répète sans arrêt)

Zorg1: déjà pour les sizing c'est simple, 5 SP = 1 semaine d'un dev :D

Zorg1: ah non 5 SP c'est un dev sur deux semaines

Zorg1: je confond tout

leojean890: ah ouais ça dépend des boites ça, j'avais 1 story point = 1/2 journée :P mais en théorie ça prend aussi en compte le risque et l'inconnu donc pas un chiffrage précis ;P

leojean890: genre si il y a des aspects qu'on maitrise pas et qu'on doit investiguer, si le risque et la quantité d'inconnu sont élevés on ajoute des SP;P

leojean890: et le temps de test est pris en compte aussi ;P

Zorg1: là non c'est une story par bonhomme et tu fais tout dans le temps imparti

Zorg1: je bossais comme ça avant que ça devienne cool

Zorg1: mais on appelait pas ça agile

Zorg1: et ensuite t'as des gars qui disent que c'est trop cher

Zorg1: t'as presque envie de leur demander de développer, toi tu t'occupera de salonner dans leurs meetings

Zorg1: et puis bon la story spécifié en un titre et une ligne de jira

Zorg1: (oui j'ai envie de râler ce soir)

leojean890: c'est tout sauf agile ce que tu décris hehe

leojean890: nous c'était "on finit quand on finit" ;P

leojean890: salonner dans leurs meetings => tu veux passer chef au lieu de dev ?:P

Zorg1: bah oui vu que les mecs m'expliquent comment coder, visiblement nous ne sommes pas à la bonne place, hop on échange

Zorg1: meeting interminable avec le client, de suivi des problèmes, sans dev, on nous redescend les problème, des gars remontent nos questions ...

Zorg1: même quand je bossais avec les staliniens du code à Thalés j'avais l'impression que les process étaient plus léger.

**Bon[]Crayon slaps around a bit with a large fishbot

leojean890: mdr sérieux, ils te reprochent quoi ? parfois 2 personnes ont 2 avis différents niveau style de code et ça part en débat useless

leojean890: mais je parlais de tes souhaits pro, devenir chef ça te brancherait ?:P

leojean890: ouais les process lourds à Thales je confirme :P

leojean890: vive les startups ?;P

leojean890: certains ont des réunions h24 et peuvent plus bosser du coup;P

Default avatar.png JBM: les reunions c'est plus du boulot?

leojean890: si, mais ils peuvent pas avancer sur leurs stories :P

Default avatar.png JBM: faut inclure la story reunion

leojean890: ouais les réunions agiles je connais :P

leojean890: sprint planning, retrospective, sprint refinement, ..

Zorg1: grooming

leojean890: hop on chiffre et on choisit comment modifier le scope du sprint en plein milieu ;P

leojean890: certains sont plus de 50% du temps en réunion ça n'aide pas pour les stories quoi:P

Zorg1: ce qu'ils reprochent c'est qu'on prend trop de temps pour coder sa story genre "y a qu'un truc à changer" bah ouais coco mais faut aller vachement profond dans les trippes de l'existant pour ta "petite modif"

Zorg1: et vu que l'appli est conçu comme un flipper géant (tiens faudrait que j'invente cette pattern) faut faire gaffe quand tu modifies un truc sans importance

leojean890: ah oui les gros logiciels avec 10k++ classes.. tu prends 3 plombes pour trouver où est la cause du bug puis encore 3 plombes pour trouver comment corriger, et finalement tu changes 1 seule ligne :P

Default avatar.png JBM: j'aime bien l'image

Default avatar.png JBM: je la vole

leojean890: ouais faut faire gaffe aux regressions..

leojean890: maintenir de grosses applis c'est tout un métier à part :P

Default avatar.png JBM: tout un metier a part :P

Default avatar.png JBM: je la vole aussi

leojean890: ;)

leojean890: allez on sort le debugger :P

leojean890: trouver le bon point d'entrée

leojean890: on compare le cas qui marche et celui qui marche pas - on se balade, on rentre dans une stack d'appels à 10 levels

Zorg1: ah oui dans l'agile j'ai l'impression que le seul document consolidé, c'est le code

Zorg1: sinon tu dépiles les US

leojean890: il me semble qu'en théorie c ça ouais :P après en pratique ça dépend de l'équipe de la boite etc :P

Zorg1: bah rien ne s'oppose de construire une doc/spé en itératif comme le code non plus

Zorg1: pour refactorer ça peut être utile quand les tests unitaires sont faiblards va-t-on dire ...

Zorg1: * les tests en général, pas qu'unitaire

leojean890: bah ouais genre faire des diag UML et autres docs :P

leojean890: certaines équipes prennent le temps, d'autres ont trop de pression pour que le boulot soit fait vite et ça part sur du non-maintenable non-documenté;P

leojean890: "quelques commentaires, et voilà !!";P

leojean890: et quand le scrum tient tête à la hierarchie et osef un peu de la pression, il fait barrière et tu fais du code plus maintenable au lieu de ne penser qu'à speeder ;P

Zorg1: c'est ça le + marrant on a pas d'animateur ou de scrum master

leojean890: ah ouais

leojean890: et ils disent really que c'est agile ?:o

Zorg1: ouaip en "feature team" mon gars

leojean890: chacun réinvente sa définition ;P

Zorg1: je ne suis pas mécontent de bientôt me barrer de ce projet

leojean890: Une contribution de JBM - Clash of Code - Mode Taille de Code

leojean890: hehe je comprends :P

Zorg1: tu clash ?

leojean890: ouais c'est mon 12eme clash xD

leojean890: et mon 3eme jour où j'en fais en tt

Zorg1: ah ok

leojean890: j'en fais très rarement :P

leojean890: je suis pas fan des clashs mais ça change un peu

leojean890: et j'apprends qq astuces parfois :P

leojean890: t'en fais parfois toi ?;P

leojean890: tiens j'ai win

leojean890: moyenne arithmétique en 77 carac sachant qu'il faut virer le .0 si c'est un entier ..

leojean890: ah ouais t'as le même classement que moi tiens Zorg1

leojean890: 24XX vs 23XX

leojean890: ah non j'en ai fait 15

Zorg1: j'en fais plus depuis un certain temps

Zorg1: j'avais essayé d'aller jusqu'à 500 mais j'ai arrêté bien avant

Zorg1: 205

Zorg1: à 500 il y a un achievment

Zorg1: forcément t'as les crève-la-dalle du XP qui ont fait les stakhanovistes du CoC pour le décrocher

leojean890: ah oui

leojean890: moi franchement c'est juste de tps en tps pour changer :p

leojean890: 205 clashs c déjà pas mal:)

Zorg1: j'avais commencé j'avais trouvé ça marrant

leojean890: 300 apparemment ça permet de valider des contribs ?

Zorg1: après tu te lasses

leojean890: COC ça apporte peu d'xp non ?

Zorg1: non 50 pour valider/refuser les contribs

Zorg1: 300 c'est pour les éditer

leojean890: ouais je me lasse si j'en fais trop d'un coup

leojean890: ah je vois

leojean890: et 500? juste un achievement de type légend ?:P

Zorg1: CoC ça rapporte surtout des CP

Zorg1: le classsement

leojean890: ouais mais peu

leojean890: autant qu'un unique multi

Zorg1: ouaip juste un achievement legende pour 500, donc des XP

leojean890: ouais, pas le plus mérité

leojean890: pas basé sur de la perf mais sur de la quantité :P

leojean890: Stilgart est tellement contre :P

leojean890: après chacun son avis :P

leojean890: print("".join(b[::-1]+" " for b in input().split())[:-1])

leojean890: et certains m'ont mis 9 carac

Zorg1: oui enfin tous les achievement CG c'est un peu de la quantité : pusher un certain nombre de fois, participer un certain nombre de fois à un contest, faire un certain nombre de puzzle dans un langage, faire un certain nombres de langages ...

Zorg1: * presque tous,

leojean890: 2120 eme coc now mdr

leojean890: ah ouais moyen quoi :P

Zorg1: le nombre de gars qui ont fait 15 puzzle dans tous les langages de la plateforme ...

leojean890: xp = quantité

leojean890: cp = classement

Zorg1: t'as les puzzles en XP

Zorg1: les passages en ligue supérieure

leojean890: ouais

leojean890: pas les optims à 100% par contre, ça pourrait :P

leojean890: puzzles je sens que je vais bientôt m'y mettre aussi

leojean890: tjr 0 à mon actif

Zorg1: c'est un peu le truc de base ici

leojean890: p'tet ceux de CG en prio avant des contribs

Zorg1: t'as pas bricolé ML un peu ?

leojean890: si, mais optim

Zorg1: oui les puzzles de CG rapportent plus en XP ^^

leojean890: #48 de CG en optim avec tout ce tryhard

leojean890: :P

leojean890: ML c'est du bidouillage de seuils pour moi

leojean890: pour le thrust

leojean890: pour les angles aussi mais plus basé sur de la logique

leojean890: le thrust parfois je tente juste des valeurs pour voir

leojean890: et ouais je sens qu'avec le mois de juillet je vais me mettre également aux puzzles :P

leojean890: pk + "truc de base" que le reste ?

leojean890: c'est pas CSB le truc de base ?;P

Zorg1: normalement tu fais des puzzles puis tu t'essaies à leur tuto CSB

leojean890: ah:P

leojean890: bah j'ai commencé direct par un contest en 2014;P

leojean890: ensuite qq autres

leojean890: pas sérieusement

leojean890: et j'ai repris en mode bcp plus intense depuis fin novembre :P

leojean890: genre multis et optims à gogo

leojean890: me reste à faire des légend now

leojean890: prochain objectif :P

leojean890: (nov 2019)

Zorg1: j'avais commencé avec des puzzles easy & medium, CSB et Tron avant de faire mon premier contest, WW

leojean890: ah oui

leojean890: quand j'ai repris en novembre j'ai fait dans l'ordre

leojean890: BTTC, bandas,

leojean890: hypersonic

leojean890: tron

leojean890: stc après ou xmas rush

leojean890: je voulais commencer par des low branching déjà

pardouin: print("".join(b[::-1]+" " for b in input().split())[:-1]) déjà tu peux faire : print(" ".join(b[::-1]for b in input().split()))

pardouin: ah ben les voila les 9 chars ^^

leojean890: ça en met un de trop au début non ?

leojean890: de " "

pardouin: non

pardouin: join insere juste entre les trucs

leojean890: ah ok:)

leojean890: j'ai vu l'autre sol aussi :p

pardouin: et sinon tu peux mettre un non alpha suivi d'un alpha

leojean890: _=input()[::-1].split(" ")

leojean890: _.reverse()

pardouin: genre coller un for à un )

leojean890: print(*_)

pardouin: encore plus rapide: print(*(b[::-1]for b in input().split()))

leojean890: ah thx :)

pardouin: tu peux même coller un for à un 1

leojean890: jsuis loin d'être expert en golf :P

pardouin: par exemple:

pardouin: L=[a==2for a in M]

pardouin: il va te le mettre en rouge mais ça passe quand même

pardouin: sinon autre astuce super utilisée : remplacer a=b if c else d par a=[d,b][c]

leojean890: faut que je teste tout ça :P

leojean890: ça j'utilise déjà: a=[d,b][c]

leojean890: print(*(b[::-1]for b in input().split())) : pas compris pour le moment

pardouin: *c'est l'unpacking

pardouin: devant un itérable ça le "déroule"

pardouin: et par défaut quand tu print le déroulé d'un truc ça met des espaces entre

pardouin: et l'autre gros avantage par rapport à " ".join(L) c'est que L n'est pas obligé de contenir des str

pardouin: tu peux faire ça avec une liste de int par ex

leojean890: ah d'accord thanks

leojean890: L=[a==2for a in M] : en gros ça retourne des True, False en fct des valeurs de M c tout ?

pardouin: j'ai juste mis cet exemple pour montrer un for collé à un nombre

leojean890: cool tes astuces en tt cas :P

pardouin: en gros les noms de variables ne peuvent pas commencer par un caractère num

pardouin: donc quand il list 2for il comprend que c'est 2 trucs séparés

leojean890: ah ouais je savais pas nn plus qu'on pouvait coller :P

leojean890: rouge le test lancé en bas mais vert quand on exec ?

leojean890: vert quand on submit*?

pardouin: ça affiche en rouge dans l'IDE

pardouin: mais les tests sont verts

pardouin: autre astuce, renommer les fonctions que tu utilises plusieurs fois

pardouin: genre I=input

pardouin: si tu fais au moins 3 input

pardouin: et si jamais tu dois juste print un seul truc, tu peux le print avec I car si tu mets un argument à input il le print XD

leojean890: ah oui

pardouin: (ça c'est abusé XD)

leojean890: ah oauis j'avoue

pardouin: sinon si tu lances un for mais que tu osef des indices genre: for _ in range(N): tu peux faire for _ in' '*N

leojean890: wow !!

pardouin: plutôt for _ in' '*N:

leojean890: in' '*N à la place de in range(N)

pardouin: oui

leojean890: pas mal :P

leojean890: tu as trouvé où tus ces trucs ?:P

pardouin: en gros il faut juste créer un itérable de taille N pour qu'il répète N fois le truc

leojean890: tous*

pardouin: non j'en ai glané à droite à gauche

pardouin: j'en ai pas trouvé des masses tout seul

pardouin: après il faut y penser au moment opportun

leojean890: je vois :P

leojean890: faut pratiquer :)

pardouin: évidemment supprimer un max d'espaces genre dans les boucles

leojean890: oui

leojean890: de tps en tps je revois mes golf

pardouin: idéalement ne pas passer de ligne et faire des ;

leojean890: et j'améliore un peu

leojean890: laus ça reste pas ouf pour le moment

leojean890: mais*

pardouin: et si tu as pas le choix de sauter des lignes, indenter avec un seul espace

pardouin: je finis premier à 95% des CoC de golf

leojean890: oauis t'es chaud :P

leojean890: dbdr et dwarfie sont forts aussi :P

pardouin: quand je suis deuxième c'est soit une égalité contre un plus rapide, soit un mec qui gère mieux les regex que moi, soit du ruby

leojean890: un seul espace ils m'ont expliqué :P

leojean890: dans "taille de code" tu dois déchirer :P

pardouin: allez dernières astuces pour la route, si tu dois exit tu peux faire 1/0 à la place

pardouin: http://chat.codingame.com/pastebin/4b8d18c5-ae56-42f9-9b1a-fce60d202b9e

pardouin: là c'est les trucs qui me viennent mais il y en a tellement !

leojean890: 1/0 qqn en parlait

leojean890: mais j'avais pas compris quand ça passait

leojean890: ; ça revient au même que passer la ligne non ?

leojean890: (1 carac)

pardouin: oui

leojean890: sauf si dans une boucle

pardouin: mais ça sert quand tu es dans un for/if/while

leojean890: ça évite de mettre l'espace

pardouin: voila

leojean890: et ouais un if:)

leojean890: j'sais pas si je fais encore l'erreur en coc

pardouin: et j'en vois faire des a,b,c=truc,machin,bidule

leojean890: en taille de code j'vais corrigé ça

pardouin: ça apport rien

pardouin: apporte*

pardouin: tu peux en faire un par ligne, c'est plus lisible

leojean890: a=t;b=r;i=p

leojean890: ouais

leojean890: sauf dans un bloc :P

pardouin: voila

leojean890: comme on disait plus haut :P

pardouin: allez bonne nuit !

pardouin: ah oui dernière astuce quand même, hyper utile

pardouin: au lieu de : if truc:s+=1 tu fais s+=truc

pardouin: (si truc est un booléen ça convertit automatiquement le true en 1 et le false en )

pardouin: 0*

leojean890: ah ouais sympa :P

pardouin: sinon quand tu as un min sur une liste potentiellement vide, ça crée une erreur

leojean890: jvais voir si j'arrive à appliquer tt ça

leojean890: j'ai pris des notes :P

leojean890: thx:)

pardouin: alors au lieu de gérer avec des if etc, tu peux faire: min(L or[0])

leojean890: ah on peut pas faire ça

pardouin: si L est pas vide ça fait le min de L, sinon celui de [0]

pardouin: autrement dit 0 :)

leojean890: qui peut être remplacé selon le contexte

leojean890: thks :p

pardouin: oui

pardouin: allez zou

leojean890: bonne nuit du coup:)