Chat:Fr/2021-06-28

From CG community
Jump to navigation Jump to search

nicola: Tu pourrais être à 11, Automaton2000.

Automaton2000: ah il est pas si mal que ça

dbdr: kovi, c'est reparti!

BlaiseEbuth: Yo tout l'monde ! Automaton2000 ! AutomatonNN ?

Automaton2000: il n'y a qu'un seul cas où ça peut être utile

philRG: o/ bon le territoire de CotR ne doit pas s'étendre sur une largeur ou hauteur de plus de 7 cases, j'avais pas capté :-o

philRG: Résumé du jeu : philRG made an invalid put: the grid exceeds the allowed size. philRG's tile 45 is discarded

BlaiseEbuth: Des fois lire les règles ça aide...

philRG: et ma fonction rajoutée pour çà me fait timeout :thinking:

philRG: def check_extent(grid: List[List[Square]]): http://chat.codingame.com/pastebin/ab6047df-1ecb-45cd-a428-81aeabb59c92

BlaiseEbuth: Woputin le bourrin

philRG: Elapsed time: 174ms dans mon IDE ouais

BlaiseEbuth: Bah en même temps...

philRG: ben ouais j'ai un peu bourriné

philRG: j'ai regardé le foot hier soir...

philRG: et là j'ai une course à faire ce matin

BlaiseEbuth: Tu pourrais pas faire une seule boucle et récupérer min/max dessus ?...

philRG: class FieldType(Enum): http://chat.codingame.com/pastebin/b0b4c4e9-816a-47e7-a1f9-8265ff87cf94

philRG: BlaiseEbuth: ok merci pour l'idée je ferai çà à mon retour :thumbsup:

fastien: Hello les gens, Salut les Automaton2000

Automaton2000: et 80% sur voi codex 2

fastien: Automaton2000 :tu prefererai pas une petite réference chélonienne plutot ?

Automaton2000: tu vois pas la différence

BlaiseEbuth: :smirk:

Flaaamort: :D

Bon[]Crayon: Salut tout le monde !

fastien: o/

Bon[]Crayon: Automaton2000 slt

Automaton2000: ah oui mais en fait je pense que tu voulais ?

Bon[]Crayon: o/

BlaiseEbuth: J'aurais jamais cru demander ça mais... Mais p****n comment on modifie une variable déclarée hors d'un if depuis ce if en python ?!

Default avatar.png 154906: var = val

Default avatar.png JBM: de rien

BlaiseEbuth: Bah non

BlaiseEbuth: justement

BlaiseEbuth: Ca ça crée une variable locale au if qui masque la variable externe du même nom...

nicola: Tu crées une autre variable dans le if.

BlaiseEbuth: Mais je veux pas créer une autre variable, je veux modifier la première...

Default avatar.png JBM: chouette langage

BlaiseEbuth: C'est débile...

nicola: Je n’ai jamais eu de problème.

nicola: Ni ce problème.

nicola: Tu peux montrer ton bout de code ?

Default avatar.png JBM: ils aiment leur différence

Default avatar.png JBM: sur ce genre de conneries où tous les langages modernes et même Common Lisp se sont mis d'accord

nicola: Du genre a=1 if True:

 a=2

Ne fonctionne pas ?

BlaiseEbuth: Bah il me dit que non...

nicola: Montre ton bout de code.

Magus: t'as du merder quelque part

nicola: Chez moi ça a toujours marché.

BlaiseEbuth: Il me dit "a is never accessed" pour les deux a=

Magus: parce que le scope des variables marche très bien en python

jfaixo: t'as pas un souci d'indentation quelconque, qui scope mal ta variable initiale ?

Magus: ça c'est pas pareil

Magus: "a is never accessed" veut dire que tu ne fais que affecter une variable

Magus: sans jamais la lire

Magus: python te préviens que ta variable ne sert à rien

nicola: Tu n’a pas un if a=2 ?

nicola: Je n’ai jamais eu ce message.

BlaiseEbuth: Ah. Bah désolé alors, pour moi "accessed" ça voulait dire n'importe quelle opération dessus...

Default avatar.png JBM: la python touch

BlaiseEbuth: Effectivement, il est content quand je la lis...

BlaiseEbuth: -_-

nicola: :clap:

BlaiseEbuth: Quelle merde ce truc

nicola: Ben non, c’est logique.

BlaiseEbuth: Non

nicola: À quoi sert une variable si elle n’est pas utilisée ?

nicola: Il plantait ou envoyait un avertissement ?

BlaiseEbuth: Elle EST utilisée. Je fais des opérations dessus

nicola: Avec, ou dessus ?

BlaiseEbuth: Dessus

nicola: C’est bien la première fois que je vois ce genre de message.

BlaiseEbuth: Bah en gros il me le met tant que je n'ai pas fait d'opération "avec" comme tu dis

BlaiseEbuth: Bref.

nicola: Et ça l’empêche de tourner ?

BlaiseEbuth: Non c'était un warning, mais le message me faisait vraiment penser qu'il y avait une couille, même si ça tournait.

Default avatar.png JBM: du coup c'était bien var = val

Default avatar.png JBM: ;p

BlaiseEbuth: Ouai. Mais python essayait de me faire croire le contraire.

RandomVariable: C'est pas plutot qu'il t'informait que la premier affectation ne servait à rien parce ce que tous les chemin de code faisaient une autre avant qu'elle soit lu ? et que du coup du peut virer la première affectation, ou corriger un bug que tu aurais raté sinon ?

BlaiseEbuth: Non.

BlaiseEbuth: Ca aussi c'est marrant, le .execute de sqlite qui attend un "iterable" en second parametre pour les variables à binder à la requête. Du coup .execute(req, (a,b)). Mais ! Si tu n'as qu'une seule variable qui s'avère être une string, tu peux pas faire .execute(req, (a)), il faut faire .execute(req, (a,)) sinon il prend chaque char de ta string comme variable à binder... -_-

BlaiseEbuth: J'adore ce truc

RandomVariable: c'est logique, non, c'est connu que si tu veux un tupple avec qu'une seule valeur faut faire (item,) sinon il pense que c'est juste un parenthésage à la con et que item=(item) et dans ton cas comme il veut un iterable il fait ce qu'il peut

Cousnouf: C'est pour ça que les langages faiblement typés c'est du pipi lol :P

Cousnouf: voilà j'ai posté mon message du trimestre je peux à nouveau disparaître... lol

BlaiseEbuth: Bah "un parenthesage à la con" ça devrait pas exister... item!=(item)

Cousnouf: z'aussi

RandomVariable: ben comment tu fais des maths, en notation polonaise inversée ?

Cousnouf: c'est mieux la notation kosovarde...

BlaiseEbuth: Le contexte des opérations c'est bien aussi...

RandomVariable: je peux pas te contredire, mais juste par ce que je ne comprends pas ce que tu veux dire par là

BlaiseEbuth: Bah la fonction attend un iterable, pas un nombre, donc les parenthèses autour veulent forcément dire 'liste' pas 'opération mathématique'

BlaiseEbuth: Donc (a) veut forcément dire 'liste contenant l'unique item a'

RandomVariable: une string c'est itérable

RandomVariable: et c'est des tupples pas des listes

BlaiseEbuth: Oui. Mais justement si je lui met (string) l'iterable c'est () pas string

RandomVariable: t'as qu'à mettre des crochets ti tu veux des listes, et tu ne sera pas embeté

BlaiseEbuth: Nan mais le "problème" est réglé, je soulignais juste la... euh... disons "discutabilité" de ce choix.

RandomVariable: c'est assez contre-intuitif, mais je doute qu'on trouve une meilleure solution

RandomVariable: d'une part car python n'est pas vraiment typé, et donc ne sais pas que tu voulais un itérable. T'as juste passé une string à ta fonction, et il sait pas ce que fait ta fonction

BlaiseEbuth: Justement avec les () ça devrait pas être considéré comme une string.

RandomVariable: et que dans ton cas si tu veux juste faire ( "a" + "b" )*3, je trouve que c'est normal que ca fasse la même chose que ( "ab" )*3 même si la parenthèse est inutile

nicola: BlaiseEbuth, un tuple avec un seul élément s’écrit (1,) sinon c’est interprété comme une parenthèse de calcul.

philRG: pas de violence, c les vacances :)

philRG: ou bientôt

BlaiseEbuth: Ah oui c'est vrai qu'on peut multiplier les string en python...

RandomVariable: ... et les tuples

nicola: Et les listes.

nicola: Pas les ensembles ni les dictionnaires.

philRG: bon je me rapproche du boss moi, prenez un langage et pitié laissez les autres tranquille. Faites des puzzles

RandomVariable: j'ai jamais testé, mais de toute facon, logiquement ca serait identique, sauf pou 0

nicola: >>> {1,2}*3 Traceback (most recent call last):

 File "<stdin>", line 1, in <module>

TypeError: unsupported operand type(s) for *: 'set' and 'int'

RandomVariable: merci, j'allais chercher un repl online pour tester

RandomVariable: et je fais un puzzle, minimax-simple-example, j'en suis à me demander si la seule raison que je ne passe pas le dernier test est que python est lent

philRG: ah Bob a écrit que l'id d'une tuile définissait sa valeur, je vais utiliser çà

RandomVariable: t'es sur quel jeu ?

BlaiseEbuth: Je ne remets pas en cause qu'un tuple s'écrit comme ça en python hein nicola, je dis que c'est toupouri comme choix. (Comme beaucoup d'autres en python)

RandomVariable: et moi je dis que je suis d'accord avec toi que c'est contre-intuitif la première fois, mais que si on creuse un peu, c'est pas facile de proposer mieux

philRG: https://www.codingame.com/ide/puzzle/coders-of-the-realm---1v1

philRG: bon je vais essayer si je passe en wood 1 avec cette modif

philRG: # tile = random.choice(next_tiles)

       tile: Tile = max(next_tiles, key=lambda t: t.tile_id)
       print(f"PICK {tile.tile_id}")

BlaiseEbuth: Bah, suffit de regarder les autres langages. Mais vu que le mot d'ordre des créateurs de python semble être "faire tout absolument différement des autres" forcément ils peuvent pas s'en inspirer... :smirk:

RandomVariable: philRG, je te déteste, ce lien vers l'IDE, une fos ouvert m'a comptabilisé comme les participants non ?

BlaiseEbuth: Et c'est grave ?

philRG: je crois pas non

philRG: mais tu peux participer! ;-)

nicola: BlaiseEbuth je pensais que tu n’avais pas vu le truc.

nicola: Non, ils ne font pas tout pas comme les autres.

nicola: switch/case est arrivé.

RandomVariable: j'ai pas envie d'être comptabilisé si je n'y participe pas

RandomVariable: et pas trop le temps pour ça

RandomVariable: et j'ai du mal à me retenir pour l'ultimate tic tac toe

philRG: ah cool wood1, par contre à mon avis, je vais suer en wood 1

BlaiseEbuth: Beuh ça veut juste dire que tu as ajouté 1 au nombre de "joueur ayant commencé". T'est pas dans le classement, ça change pas ton score, rien...

RandomVariable: je compte comme un mec qui a abandonné avant d'avoir essayé, c'est juste une question d'estime

RandomVariable: sur les puzzles, ca fait une différence entre être marqué à 0% et pas etre mentionné dans "Progression de mes amis"

philRG: moins de 200 lignes je suis dans les clous

BlaiseEbuth: Mouai... PLeins de gens ouvrent les puzzles/multi "pour voir", moi le premier...

RandomVariable: moi ca me gène, chacun ses vices

BlaiseEbuth: Bah faut travailler dessus. Tu vas aller ouvrir 50 puzzles sans les faires, allez hop !

RandomVariable: je m'aime comme je suis, je ne cherche pas à changer celà ;)

philRG: bon 75xp pour CotR et 200xp pour CotC c pas proportionnel au temps passé

RandomVariable: J'ai un code où j'utilise @cache de functool, qui marche et est assez lisible. Je me trimbale des strings qui font office de set() de chars et dont je maintiens le tri assez simplement. Mais pour faire propre j'ai essayé d'utiliser frozenset(), mais c'est plus lent au point d'avoir un timeout. Quelqu'un aurait-il une idée d'explication ou une piste ? Merci

Thyl: Salut

fastien: o/

Thyl: est-ce que ça vous est déja arrivé que cin ne lise pas des caractères copiés-collés mais les lisent quand vous les tapez à la main ?

Thyl: j'utilise la console intégré dans dans notepad++

BlaiseEbuth: Genre tu les colles, t'appuies sur entrée et... rien ?

Thyl: a peu pres

Thyl: je debug en affichant ce que je lis

Thyl: le code c'est ça

Thyl: http://chat.codingame.com/pastebin/d19426d6-4bb8-4952-9ca8-8533fc816e9c

Thyl: et à chaque entrée j'ai ajouté des debugs

Thyl: et quand je copie colle tout

Thyl: il me lit pas n et k

Thyl: et tape directe dans les nombres d'après

Thyl: genre pour unt test

Thyl: 8 5 10 9 8 7 7 7 5 5


Thyl: ça saute 8 5

BlaiseEbuth: Hmm... Pourquoi ios::sync_with_stdio ?

Thyl: code forces

Thyl: j'ai une macro sur notepad++

Thyl: je mes au point tout une boite à outils de contest

Default avatar.png Good-one: hello guys , it's my first time here

Thyl: #World

Thyl: go to world Good-one

BlaiseEbuth: Bah faudrait déjà savoir si l'erreur viens de notepad. T'as essayé ton code ailleurs ?

Thyl: ben mon cide marche avec notepad

Thyl: si je tape les entrées à la main

Thyl: :D

Thyl: trop zarbe

BlaiseEbuth: C'est pas la question...

Thyl: je le fais de ce champ

Thyl: le code marche sur CG

BlaiseEbuth: C'était pas la question non plus :rofl:

BlaiseEbuth: Est-ce que ça fonctionne ailleurs avec le copier/coller

Thyl: ça marche sur Repl.it

Thyl: sauf que quand je copie colle le test

Thyl: ben ça me fout un \n entre les deux lignes

Thyl: trop bizarres

BlaiseEbuth: Ouai. Ca c'est les différences de caractère entre environements...

BlaiseEbuth: Tu devrais passer par un fichier au lieu de coller direct dans la console

philRG: les caractères de fin de ligne c la plaie

philRG: sont gérés différemment d'un environnement à un autre

philRG: depuis que je créé un projet par puzzle, obligé de faire un sed 's/^M/^M/ et parfois quand je fais un push sur github, j'ai le problème

philRG: on se perd vite entre toutes ces plateformes et ide en ligne, et l'âge n'arrange rien

philRG: j'arrivais à gérer des configurations étant plus jeune, mais là je lève le pied

POLOB: Sur git, tu peux configurer la gestion de CRLF pour éviter les soucis de ce type. En général, auto-CRLF fait bien le boulot, à part si tu t'amuse à faire du WSL et à mixer git sous win et sous linux sur la même partition (enfin filesystem). Là, pas de vraie bonne solution

Thyl: philRG j'ai encore mieux pour les puzzles

Thyl: j'ai un fichier par puzzle

Thyl: et je compile en ligne de commande

3141948: J'ai cru voir un agent de ce type sur github mais pas trouvé,. Après je pense que le problème vient d'un paramètre de mon ide sur le type d'encodage par défaut. J'ai passé l'âge...

Thyl: et j'appelletoujours le .exe

Thyl: pareille

Thyl: comme ça 100 .cpp un seul .exe

Thyl: et si un jour le code me réinteresse je recompile

POLOB: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration

Thyl: ça permet de pas avoir 300 .exe sur l'ordi

POLOB: core.autocrlf

3141948: Thyl: tu fais bien

POLOB: il y a des ide qui forcent des valeur chelou effectivement

Thyl: Au début c'est beaucoup de prise de tête mais c'est trop bien les configs maisons

Thyl: Notepad++ Avec le plugins pour le cpp ça marche du feu de dieu

Thyl: sauf pour le copie-coller :D

POLOB: ou tu utilises vim et tu apprends les incantations magiques

3141948: POLOB: merci pour le tip

3141948: J'ai plus mon acuité visuelle d'antan, beaucoup de fatigue oculaire

POLOB: https://vim.fandom.com/wiki/File_format#Converting_the_current_file

Thyl: polob j'ai toujours pas trouvé un tuto sur vim qui explique bien le truc

BlaiseEbuth: vimtutor

POLOB: ça n'existe pas vraiment. Il faut se prendre la tête un peu au début

POLOB: il faut un peu changer sa façon de penser un éditeur

BlaiseEbuth: Généralement je prends toujours ma tête...

3141948: J'ai utilisé vim un moment je maîtrise bien les bases mais pour le code, je peux plus

POLOB: je connaissais pas vimtutor

BlaiseEbuth: Bah c'est la base.

POLOB: les bons ide ont un bon mode vim

POLOB: J'ai souffert :)

BlaiseEbuth: Sur linux vimtutor t'ouvre vime avec le fichier tuto

BlaiseEbuth: *vim

POLOB: (ça laisse à peu près que CLion pour vrai ide, ou VSCode pour un presque ide)

3141948: Quand j'ai pas d'outil sous la main, je lance un vim oui

3141948: Et je fais un sed à l'intérieur avec des regexp

3141948: Quand je sais ce que je veux, c plus rapide et çà me fatigue moins les muscles oculaires

3141948: L'idéal au boulot c travailler sous Unix

Thyl: Je m'installe un vrai environement parceque j'en ai trop besoin pour Code Forces

BlaiseEbuth: T'utilises cmake ?

BlaiseEbuth: ou autre

Thyl: j'essaie

Thyl: hier j'ai découvert un plugin sur Notepad du coup je teste

Thyl: notepade tres pratique pour les macro

Thyl: J'essaie code forces c'est tres pratique pour s'entrainer à résoudre plein de problemes

POLOB: Il y en a tellement des sites de ce type, leetcode, hackeranch...

3141948: J'utilise principalement un ide pour pas perdre trop de temps en outillage et aussi pour visualisation mes données dans le debugger et je suis habitué à l'interface

3141948: Quand je change de langage l'interface utilisateur est quasiment pareille du coup

POLOB: c'est sur qu'un ide, ça aide pour ça

POLOB: j'ai jamais vraiment réussi à debugger avec gdb en ligne de commande par exple

BlaiseEbuth: Faut encore en avoir un qui prenne en charge les langages que tu veux.

POLOB: Pour ça, VSCode est pas mal

3141948: J'ai une inflammation des nerfs du coup qui me generent de la fatigue visuelle

POLOB: mais je le trouve un peu bric à brac

3141948: Disque cervical endommagé 😟

POLOB: pas cool ça

BlaiseEbuth: C'est la raison qui me fait l'utilser malgrè tous les défauts que j'y trouve

POLOB: Je suis un nanti et ma boite nous paye la suite JetBrain

Thyl: CodeForce à un avantage POLOB, il organise beaucoup de contest

3141948: Vscode est horrible en terme d'interface du windows made quoi mais sinon au niveau communautaire, pas d'équivalent, on trouve tout

POLOB: du coup, on retrouve ses petits à chaque fois, mais c'est dédié à un language

BlaiseEbuth: Bof... Je fais déjà rien sur CG, je vais pas aller rien faire sur codeforce.

POLOB: Oui Thyl, je vois ça

POLOB: mais on peut pas tout faire, surtout quand on code déjà 8h par jour pour le taf :)

Thyl: Il font un truc malin

BlaiseEbuth: Ils écoutent leu comu ?

Thyl: des compet' juste en Kotlin pour populariser

BlaiseEbuth: J'appelle pas ça malin...

Thyl: POLOB quand on est on vacance ça aide !

POLOB: Kotlin, je me tate un peu pour l'apprendre j'avoue...

BlaiseEbuth: :scream:

Thyl: BlaiseEbuth imagine il aurait fait ça avec Java

BlaiseEbuth: Pour moi c'est pareil Thyl

POLOB: là, j'ai juste un jour offert par ma boite pour trop de taf en confinement

Thyl: pas de chance

BlaiseEbuth: Voir pire en fait... :thinking:

Thyl: en sachant ça je profite encore plus de mes vacances

Thyl: :)

BlaiseEbuth: Les vacances c'est pour les gens qui bossent

Thyl: oui

Thyl: au college :)

BlaiseEbuth: Oui. Pour les étudiants ça va, c'est pardoné.

Thyl: par contre j'ai pas le droit au pass étudiant

Thyl: donc pas IDE gratuit :D

BlaiseEbuth: pass étudiant ?

Thyl: ouais

Thyl: ou meme numero étudiant

Thyl: t'as rien

BlaiseEbuth: T'as pas de numéro étudiant ?

RandomVariable: Je crois qu'il n'y en aura pas beaucoup qui vont valider la mission Challenge de la semaine cette semaine. (je ne compte pas ceux qui l'avaient déjà)

pardouin: ah cool il est dans ma to do list sokoban :)

Robinsstudio: Hé je me demandais. Imaginons que je veux faire un billet de blog ou une connerie du genre ou je veux partager mon approche pour UTTT et que je passe mon dépôt GitHub UTTT en public. Est-ce que je risque d'avoir des ennuis ici ? (situation entièrement hypothétique bien sûr)

BlaiseEbuth: Bien sûr... :smirk:

Robinsstudio: Bien sûr pourquoi ? x)

**BlaiseEbuth commence à chercher le blog de Robinsstudio pour pouvoir mieux le dénoncer.

Robinsstudio: Tu ne le trouveras pas, je n'en ai pas ! :rofl:

Robinsstudio: Mais ça ne répond pas à la question. :thinking:

BlaiseEbuth: "Ca dépends"

Robinsstudio: En soi, je dispose librement de mon code, non ?

fastien: y a pas eu une vague de ban a un moment ?

BlaiseEbuth: Bien sûr. Mais CG peut disposer librement de ton compte. :blush:

Robinsstudio: Ok donc le message est très clair.

Robinsstudio: CG ne cautionne pas du tout ce genre de pratiques.

darkhorse64: la bonne approche, c'est de donner des explications éventuellement illustrées par du code mais pas de donner le code d'un bot fonctionnel

BlaiseEbuth: Non en vrai ça dépend de ce que tu partage

BlaiseEbuth: voilà

Robinsstudio: Oui mais moi je parle vraiment de passer le dépôt GitHub en public justement.

darkhorse64: Ne le fais pas

Robinsstudio: Je ne comptais pas le faire.

Default avatar.png masknksnvsndvo: mbappe est nul

Robinsstudio: Mais ça m'intéressait de savoir si je risquais quelque chose en le faisant. haha

Robinsstudio: Parce que j'ai vu des gens le faire. Des solutions de puzzles notamment.

BlaiseEbuth: le foot est nul

Robinsstudio: Mais du coup c'est pas toléré.

BlaiseEbuth: C'est pas trop la politique de la maison, mais y'a pas de chasse aux sorcières en ligne pour savoir qui a partagé quoi.

Default avatar.png masknksnvsndvo: @BlaiseEbuth t'as raison

Robinsstudio: Bon bah sur ces bonnes paroles, je vous remercie et vous souhaite une bonne nuit ! o/

BlaiseEbuth: o/

fastien: bn