Session du 07 octobre 2024 à 21h00
Structures de Données
TOSA & Certifications
Algorithmique & Performance
Programmation Orientée Objet (POO)
Deviens membre Premium magic_button
Cette session de mentorat est réservée aux membres Premium. Rejoignez-nous pour accéder à toutes les rediffusions des sessions de mentorat !
Premium
- check +100h de formations
- check +180 exercices de code
- check +100h de mentorats en rediffusion
- check 20 projets
- check Mentorats groupés hebdomadaires
- check Support individuel avec nos mentors
Session de mentorat TOSA
Nous allons revenir sur des exercices qui sont tombés au TOSA
00:00:00 :Ah, c'est bon !Good !Alors, ça va être un petit peu en live à la présentation, j'attends énormément de temps là.Tac !C'est bon !
00:00:15 :Et bien Stéphane, tu laisses la parole.Ok.Nickel.Bon, alors donc, comme on le disait tout à l'heure, on va parler vite fait du walrus,donc c'est un opérateur qui est apparu avec Python 3.8.
00:00:29 :L'intérêt principal de cet opérateur, c'est qu'en fait, vous pouvez l'insérer dans une conditionet immédiatement lui donner une valeur, ce qui vous évite d'avoir à créer la variable avant,lui donner une valeur et après intégrer cette variable dans une condition.
00:00:45 :Donc dit comme ça, l'intérêt n'est pas super évident.Là, j'ai trouvé un petit exemple en cherchant justement moi à comprendre.C'est le script que Gab il nous affiche, qui va vous permettre de mieux comprendre l'intérêt profond du walrus.
00:00:57 :Donc le principe de base sur ce script, c'est de créer une petite fonction, une petite commandequi va vous remplir une liste.Donc vous allez demander à l'utilisateur de remplir un aliment et le but, par exemple,c'est de créer une liste de ses aliments préférés.
00:01:14 :Donc sans le walrus, c'est ce qu'on voit au début, on va d'abord devoir créer la liste vide,forcément, pour pouvoir l'implémenter.Ensuite, on va rentrer dans une boucle wild.
00:01:22 :On lui demande avec un input de donner un aliment qu'on va mettre dans la variable food.On va vérifier que cette variable food, si elle est égale à quitte,ça veut dire qu'on a terminé de remplir, donc on quitte la boucle.
00:01:35 :Sinon, on ajoute l'aliment à la liste food, et ainsi de suite, jusqu'à ce que l'utilisateur rentre quitte.Donc là, on voit déjà qu'en termes de code, on est déjà sur 5-6 lignes, juste pour ça.
00:01:47 :Là, avec la solution du walrus, on crée directement la boucle wild.Entre parenthèses, on crée le food, et là, on utilise notre fameux walrus,dans lequel on peut affecter une valeur liée à un input,ce qui fait que déjà, au moment de la condition, on peut gérer le fait de la saisie de l'utilisateur.
00:02:08 :Derrière, on compare, toujours dans la ligne du wild,si l'input que l'utilisateur a rentré est égal ou différent à quitte,s'il est égal à quitte, on est en trouble, du coup le wild se termine,s'il n'est pas égal à quitte, il continue.
00:02:22 :Et là, dans la ligne suivante, directement, on rentre l'aliment dans la liste food.Donc, sur des variables où on doit boucler, où on doit demander beaucoup d'input à l'utilisateur,totalement, je pense que là, l'intérêt est quand même très évident d'utiliser un walrus,plutôt que comme on l'a fait précédemment dans le script,
00:02:42 :créer une boucle, créer le moment d'un placement entre la variable, on demande l'input,vérifier après avec une condition if, et ainsi de suite.Est-ce que ça semble clair pour tout le monde ?
00:02:54 :Oui, totalement.Oui, c'est vrai.Merci Stéphane d'avoir présenté ton script, c'était cool, c'est vraiment une bonne idée, c'est un bon exemple.Et du coup, celui-là, il tombe au Toza,sachant que la question, ils vont vous la poser aussi sous forme,je crois qu'ils vont vous donner avec quelle version de Python c'est arrivé, il me semble peut-être.
00:03:18 :Donc, dites-nous bien que c'est arrivé avec Python 3.8.Et donc, vous avez votre condition, en même temps, vous affectez une variable.Vous avez une valeur à votre variable.
00:03:30 :Stéphane, merci, c'est vraiment une bonne idée.Comme on disait, c'est surtout utile quand vous devez créer une variable pour gérer un input du utilisateur,principalement, c'est un des cas les plus évidents.
00:03:40 :C'est que cette variable, vous n'en n'aurez pas besoin plus tard dans le script ou dans une autre fonction.C'est bon pour tout le monde ?
00:03:52 :Pour ceux qui étaient là, il y a peut-être 3-4 mentorats,j'avais fait un mentorat pas que dessus, mais en partie dessus.Mais il s'agit bien de le rappeler, parce que, je vous le dis, vous vous inquiétez de l'avoir reçu au taux d'art,moi, perso, je l'ai eu, donc il n'y a pas de raison que j'en ai certains qui ne l'aient pas.
00:04:07 :Merci Stéphane, c'est cool.C'est bien, je pense que si quelqu'un veut faire ça,chaque début de mentorat, il peut se prendre 5 minutes pour présenter son script, c'est une bonne idée.
00:04:18 :C'est vrai qu'on l'avait fait avant sur des mentorats un peu plus anciens,avec Pierre-André, par exemple, mais on peut le refaire, c'est intéressant.Du coup, du coup, du coup, alors je ne vois pas le chat là, seulement,donc, je vais en profiter du mentorat parce qu'il y a Stéphane qui a passé une évaluation TAUSA,
00:04:44 :donc bravo parce que tu as obtenu le niveau avancé,donc tu nous vises le niveau expert du coup pour l'évaluation finale, pour le test final.
00:04:54 :En effet, en effet.Il y a eu donc quelques petites questions intéressantes.Alors, de tête, il y avait eu, enfin de tête, j'en ai noté quelques-unes.
00:05:08 :Celle-là, je dois voir la, ah oui, voilà.Ça, alors attendez.Attendez, tac.Alors, alors, j'avais, ah, quelqu'un veut rejoindre la réunion.Alors, attendez.Hop, c'est bon.
00:05:43 :8 avant de voir le reste, c'est un morse avec un état de survie.Pas mal cet ajustement technique.Du coup, il y avait une question.
00:06:01 :Alors, je ne sais plus comment il l'avait appelée.J'ai mal noté.Alors, il y avait une chaîne, une chaîne aléatoire, alors très longue,composée de plus de 10 millions de, voilà, c'est ça.
00:06:16 :Et donc, en fait, il demandait parmi les opérations suivantes,quelle est la plus longue.Alors, et en fait, sur une chaîne, donc il nous mettait,donc je ne sais plus si c'était A, je ne sais plus,c'était une variable A, par exemple, une chaîne A.
00:06:32 :Donc on avait, par exemple, sur votre, ah non, c'est une chaîne,c'est une chaîne, je l'ai dit, ouais.Ouais, c'est ça, donc une chaîne de caractère.
00:06:40 :Donc vous avez votre chaîne de caractère, voilà, excusez-moi,et donc vous avez en opération, par exemple, je dis une chaîne A,peu importe, c'est, donc cette opération-là, vous avez cette opération-là.
00:06:56 :Il y avait A.heper, A.heper, et je crois que c'était, du coup,il y avait A.strip, je ne sais pas si tu te souviens, Stéphane, de celle-là.
00:07:11 :Ah ouais, vaguement, vaguement.Ok, donc tu l'avais où, et donc il disait quelle opération était la plus lente.Donc ici, est-ce que certains ont une idée ou pas ?
00:07:24 :Est-ce que vous avez une idée ?Je regarde dans le chat si jamais vous n'avez pas de micro.Bonsoir.Bonsoir.Euh, moi, je n'ai aucune idée, non.
00:07:43 :Ok.Hello Gob, moi je n'ai pas compris la question.En fait, imaginez, donc là, une chaîne A, on va l'appeler A.A, on va mettre une virgule, A c'est une chaîne aléatoire très longuecomposée de plus de 10 millions de caractères.
00:07:59 :Il y a marqué parmi les opérations suivantes,laquelle est la plus lente sur cette chaîne de caractère.Ok, ok.Qui va être le plus long à faire.
00:08:07 :Ok, donc j'envoie des...La plus lente, c'est celui qui prend le plus de temps, c'est ça ?Ouais.Surtead, je crois, surtead.Ouais, donc c'est ça là, c'est le surtead.
00:08:17 :Ici, c'est le surtead, parce qu'en fait,elle va parcourir les caractères de A et elle va devoir les trier.Donc c'est ce qu'il y a de plus long à faire ici.
00:08:30 :Surtead, en fait, elle va vraiment tout parcourir,et après, elle va trier.Donc là, est-ce que la plupart, vous avez un peu l'habitudepar rapport aux notations de rentaux,ou la complexité algorithmique, ou pas ?
00:08:45 :Ou pas du tout ?Moi, depuis une semaine, j'en mange, mais...Ok, ok, ok.Donc par exemple, j'ai noté, je sais plus ce que j'ai fait,j'avais des petites notes,j'ai essayé de noter quelque chose, je ne sais plus, optimisation.
00:09:02 :Alors, on ne va pas tout regarder au niveau des exemples,au niveau de ce que j'ai noté.Donc en fait, parce qu'Autosat, vous allez la voir,on est déjà très longtemps là-dessus,vous allez la voir, ils vont vous poser des questions,genre, qu'est-ce qui est le plus long,ou qu'est-ce qui est en complexité O1 ou ON.
00:09:18 :Donc moi, je sais que j'avais vu le ON, le O1,Autosat, on m'avait posé comme question.Heureusement, que pas longtemps avant,j'avais Buggani sur le Discord,on se souvient, il m'avait fait un petit cours dessus.
00:09:32 :Et en fait, quand on parle de O1,c'est un temps d'exécution constant,donc peu importe la taille des données,on va avoir un temps d'exécution qui va être constant.
00:09:49 :Donc par exemple, vous accédez un élément dans un tableau,par son index,voilà, ça met toujours le même temps.Ici, on a la complexité linéaire,donc là, ça va augmenter en fonction de la taille de votre liste, par exemple.
00:10:05 :Plus il y aura d'éléments, plus l'opération va être longue.Voilà, j'avais mis un exemple, parcourir tous les éléments d'un tableau.Et là, ici, vous avez le O log de N,j'ai mis un petit exemple pour que ce soit plus parlant,ici, par exemple, si vous passez de 1000 à 2000 éléments,
00:10:26 :ça prendra moins que deux fois plus de temps.Donc à chaque fois, plus vous aurez d'éléments,et plus l'élément supplémentaire prendra moins de temps.Je ne sais pas si ça rentre, si vous voyez ou pas.
00:10:40 :Je ne rentre pas dans le détail, bien sûr,c'est des petites choses à savoir.Après, vous en avez différents.Pourquoi je n'avais pas regardé celui-là ?
00:10:58 :Je ne sais plus pourquoi.Mais du coup,vous avez le O N log N,je vais le supprimer,à savoir le O N2,c'est ici, pour chaque élément supplémentaire,vous avez le temps de l'opération qui va augmenter.
00:11:23 :Donc là, on est déjà moins bon.En gros, ici, j'ai mis un petit récapitulatif.Sans parler du O1,mais là, vous avez le O log N, le O N,O N2.
00:11:36 :En gros, je vous laisse relire,je vais faire un repo dessus,mais en gros, à connaître le O1 pour le Toza déjà de base,le O log N, je ne sais plus trop s'ils en parlent,mais par exemple, dans le sorted ici,ce qu'on a vu juste avant,là, on est typiquement, si je ne dis pas de bêtises,
00:11:56 :c'est le O N de log N,pour un sorted.Donc, on était bien ici sur la bonne réponse,c'est celle-là.C'est celle qui est la plus lente.
00:12:15 :Alors, on avait...Je peux me permettre la question piège sur le même sujet ?Oula, vas-y.Je connais la réponse, c'est juste pour...Entre un sort et un sorted,lequel va être le plus rapide ?
00:12:30 :Sachant que dès qu'il y a du tri, de toute façon, c'est lent.C'est plus pour les autres, je pose la question.Je réfléchis aussi, parce que j'ai un peu la questionentre le sort et le sorted.
00:12:42 :C'est le genre de piège qu'ils aiment bien au Toza,donc c'est pas ça que je pose la question.Non, mais c'est le genre de piège qu'ils aiment bien,avoir des questions un petit peu comme ça,donc c'est pour ça que je me permets de poser la question.
00:12:56 :Oui, parce que tu as le sort qui va trier sur place.Moi...Le sorted, pour moi,dans tous les cas, est plus lent en fonction.
00:13:09 :Moi, je pense que la plus rapide,ça va être la méthode sort.J'ai un doute.Eh ben non.C'est le sorted.Parce qu'en fait, le sort...
00:13:22 :Le plus rapide, ça va être le sorted.Parce qu'en fait, le sort, il trie dans la liste.Donc à chaque fois, il est obligé de rebouger tout dans la liste.
00:13:31 :Que le sorted, comme il crée notre liste,il prend l'élément et il le balance dans une autre liste.Et du coup, il va être un peu le plus rapide.
00:13:39 :Alors un peu, ce n'est pas un temps énorme.Oui.Mais en termes de gestion de mémoire,ça va être moins complexe à gérer pour le split, en fait.
00:13:49 :Ok.En résumé, c'est le sort qui est plus rapide, c'est ça ?Non, le sorted.Alors, on ne parle pas d'une rapidité plus rapide énorme.
00:14:00 :Oui.Ça va moins manger de mémoire,donc par rapport aux notations O1, ON et ainsi de suite,le sorted sera mieux classé que le sort.
00:14:08 :C'est plus compliqué d'avoir une réponse, une ressource.Sur Internet, c'est plus compliqué.J'essaierai de trouver un exemple,voir si je peux trouver quelque chose.Ce n'est pas l'enjeu du sujet.
00:14:19 :Parce que je sais que j'ai lu des textesqui me semblent avoir dit que c'était l'inverse.Mais après, rien du tout.Oui, c'est un problème de gestion de mémoire.
00:14:31 :C'est un problème de gestion de mémoire.Comme à chaque fois, quand on le sort,il oublie de réécrire la liste.Oui.Ça lui bouge plus de mémoire.
00:14:38 :Et en fin de compte, quand il veut le sorted,qu'il réécrit une nouvelle liste,en fait, dès qu'il a trouvé un plus petit,il balance dans l'autre liste et après, il ne s'en occupe plus.
00:14:45 :Mission.La prochaine fois, j'essaierai de trouver une ressource dessus.Ou si je la met en ligne, Stéphane, on n'est pas d'accord.Je me mets en quête.
00:14:55 :Ensuite, il y avait une autre question.Alors, celle-là, tu l'as eue, Stéphane.Est-ce que tu te souviens de cette question ?Oui.Je me souviens surtout de mon erreur d'intention.
00:15:13 :Ok. Alors, attends.Tu vas nous dire.En fait, vous allez tous me dire votre...J'avais celle-là, je crois.J'en ai noté.Je crois que j'avais les réponses.
00:15:27 :Oui, elles sont là.C'est vrai que tu as peut-être porté piège.Et si je peux te dire, tu peux avoir un doute.Mais après, tu ne seras pas à voir deux fois.
00:15:38 :Hop.Il y avait ces deux-là.Voilà, c'est ça.Donc, tu avais ça.Hop.Sortez, sortez.Jacques, je ne me fais plus avoir.Mais au début, il faut les pratiquer pour puisse avoir.
00:15:57 :Pour sortez, sortez.Ce que j'ai noté comme mémotechnique sous mon thora,c'est que sortez travaille en dehors.Donc, dès qu'il y a la fin de la liste.
00:16:08 :De toute façon, on voit une nouvelle liste.Est-ce que quelqu'un ici a une idée de la réponse ?Moi, j'ai eu ça sur l'exemple.Le premier exemple, là, sur le site.
00:16:25 :Comment on appelle ça ?J'ai eu cette question et j'ai mis la réponse 7 avec les deux.La réponse.Alors, celle-là ?Exactement.Et celle-là ?
00:16:40 :Après, en cours, je ne suis pas encore arrivé au niveau,je suis au liste.Je ne suis pas encore arrivé au 7.OK, OK, OK.
00:16:51 :Allô ?Oui ?Je pense que c'est le dernier.Alors, attends.On avait celle-là, celle-là.Christophe, tu m'as dit le dernier.Tu m'as dit quoi, celui-là ?
00:17:05 :Oui, 1, 2, 3.Ensuite, il y avait qui ?Il y avait Christophe.1 et 4.1, 2, 3, 4.3 et 6.1, 2, 3, 5, 6.
00:17:20 :Non, non. Ligne 3 et ligne 6, pardon.Ah oui, désolé, désolé.Ligne 3 et ligne 6, excuse-moi.Je sais tout, je t'ai noté.Et moi, j'ai dit 1, 2, 3.
00:17:31 :OK, donc tu m'as dit ligne 3.Ligne 6.C'est plus sympa.OK.C'est la ligne 8, tu m'as dit.Ouais, ça, ouais.OK.Donc.C'est bien, il y a un erreur d'inattention dans le lot.
00:17:50 :Ouais.Donc là, par contre, Arsène, tu me parles en ordre.OK, donc 1, 2, 3 et 4, tu m'as dit.OK.OK, alors, les bonnes réponses dessus.
00:18:05 :Donc, vous avez celle-là.Ici, on définit bien un 7.Ici, on va avoir un dictionnaire.Ici, ce n'est pas un 7 non plus.Ici, c'est un dictionnaire vide.
00:18:23 :Donc, c'est là.Alors, souvent, l'erreur, elle est ici.Ouais.Souvent, l'erreur, elle est ici.J'ai souvent vu ici, ouais.Ici, vous faites votre 7 ici.
00:18:36 :Donc, il n'y a pas de problème, ça, c'est un 7.Ici, non, on a une liste.Et ici, un tuple.Donc, surtout, ne le faites pas voir par celui-là.
00:18:44 :Ici, on est bien sur un dictionnaire vide.Et c'est un dictionnaire.Voilà.Donc, j'efface.On a bien notre 7 qui est ici.Et ici aussi, on va définir un 7.
00:18:59 :Voilà.Oh, il me fait avoir.Allô, Baf.Ouais.Il me fait avoir.Pour moi, c'est le tuple, là.Mais j'ai confondu le 2, alors.J'ai confondu le 7 et le tuple.
00:19:11 :Ouais, ouais, ouais.Donc, c'est quoi la différence ?Parce que moi, les 7, je ne sais pas trop.Tu n'es pas 7 ?Non.Le 7, en fait, ça te permet d'avoir des éléments uniques.
00:19:27 :OK ?Donc, si tu as une liste avec plusieurs éléments,quand tu en fais un 7,tu vas avoir, en fait, une unicité des éléments.
00:19:33 :Donc, tu n'auras plus de doublons.Et en plus, tu as ce qu'on appelle une table de hachage.Et donc, pour accéder aux éléments,c'est très efficace pour Python.
00:19:49 :Mais il faut vraiment noter que ce qui est très important,c'est vraiment l'unicité des éléments.Je ne sais pas.Par exemple, là, je n'ai pas de...
00:19:59 :J'ai déjà fait un 7 avec Djangoquand j'avais besoin d'éliminer plusieurs fois les mêmes valeurs.Ça m'est déjà arrivé.Ou tu as des algorithmes,tu vas devoir faire des vérifications.
00:20:07 :Tu ne vas pas vouloir faire la vérif 4 fois sur la même valeur.Tu vas tout embrouiller en un 7.Voilà.Donc, c'est vraiment pour avoir un itérable avec des éléments uniques.
00:20:21 :Uniques, en fait.Et je pense que le tuple joue le même rôle, en fait.Le tuple aussi est unique, je crois.Dans le tuple, tu peux avoir plusieurs fois le même élément.
00:20:30 :Sauf que ton tuple, il est immuable.Tu ne peux pas le modifier.Oui, tu ne peux pas le modifier, oui.Il est immuable.Il y en a qui disent immutable.
00:20:39 :Moi, je dis plutôt immuable.Mais voilà.Il faut savoir qu'avec un 7, tu as aussi le Frozen 7 en putain.Donc, c'est un 7 qui est immuable.
00:20:50 :D'accord.Voilà.Je pense que...Et du coup, pour le définir, il faut le cocher comme le dictionnaire, en fait.Mais il n'y a pas de clé, en fait.
00:21:03 :Oui, c'est ça.Tu as tes crochets, mais tu n'as pas de clé.Ou sinon, tu as ton 7 ici.D'accord.Tu pourrais très bien transformer une liste en 7, comme ça.
00:21:12 :Et comme dans le dictionnaire, là, tu as la table de hachage.Donc, ça te permet de chercher plus vite dedans aussi.D'accord.Et le 7 aussi, tu as une table de hachage dedans.
00:21:21 :Merci.La table de hachage, c'est toute une histoire.Parce qu'au niveau des valeurs de hachage, ça peut dépendre de différents éléments.Parce qu'en fait, la valeur de hachage sur des petits nombres va correspondre aux nombres, justement.
00:21:39 :Et après, si c'est des très grands nombres, ça peut être un peu différent.Enfin, ça, la table de hachage, il ne vous pose pas de question.
00:21:45 :Moi, je n'en ai jamais vu en détail dans le closas.Donc, tant mieux.Mais c'est un sujet assez complexe, ces tables de hachage.Mais en gros, une table de hachage, c'est très efficace pour retrouver une valeur en passant par une clé.
00:21:55 :Ou un élément d'un hachage.Super.Désolé, je prends mon temps, mais ça passe.Ah oui, il y en avait un qui était vachement marrant.Alors, Stéphane, je ne sais pas si tu en souviens, mais celui-là était très rigolo.
00:22:12 :Je l'avais eu aussi.Je l'avais eu, mais je crois qu'ils se font exprès pour te mettre la pression avec ça.Alors, un exercice où il faut surtout prendre son temps et réfléchir et décoder au fur et à mesure.
00:22:29 :Alors, il y avait celui-là.Et la prochaine fois, on fera avec ArtTools.Je vais le faire la prochaine fois avec ArtTools.Il y avait celui-là, il y avait... Ouais, j'en ai déjà noté un autre.
00:22:45 :Il y avait celui-là.Il n'était pas dans la table de hachage, excusez-moi.Je vais faire des espaces parce que là, ça va être le bordel.
00:22:56 :Alors, donc.Tac, tac, tac, tac.Voilà.Vous voyez bien l'énoncé ?Je crois qu'il manque des étoiles dans l'énoncé.Hein ?Il ne manque pas des étoiles dans l'énoncé ?
00:23:13 :Non, non, non, non.Attends, je vais retourner sur ton résultat, je vais te dire ça tout de suite.Sinon, les étoiles, je vais peut-être oublier, mais je ne crois pas.
00:23:24 :Il semblait qu'il y avait six caractères au bout du compte.Tac, je vais te dire ça tout de suite.Stéphane, Stéphane, t'es où ? Tac.
00:23:32 :Les flèches, tac, on est là.Alors, c'est, ouais, je crois qu'il en manque un.Il manque, tac, tac, ouais, on est là.Bien vu, il manquait les trois étoiles.
00:23:43 :Et si je ne dis pas de bêtises, normalement, au niveau de l'exercice, on est bon.Je vais nettoyer les étoiles ici, ouais.Plus, moins, un, deux, trois, ah.
00:23:55 :Je crois que j'en avais oublié.Plus, moins, un, deux, trois, plus.Je crois que c'était plus étoile, c'est ça.Tiret étoile, mais j'ai un doute.
00:24:07 :End est égal à étoile, ok.Celui-là, c'était plus.Tiret, un, deux, trois, end, j'avais rien.Ça, c'est bon.Ok, plus, tac, tac.Ok, et le premier, on a un.
00:24:24 :Plus, moins, deux étoiles, séparateur.Ok, c'est bon.De tête, fin de tête.Je l'avais noté de tête, mais normalement, là, c'est bon.Tu avais bien trois étoiles.
00:24:39 :Du coup, ici, ils vont vous demander de ne pas aller à tout bête.Qu'est-ce qui va afficher ça ?Surtout, il ne faut pas se laisser déstabiliser.
00:24:48 :Il faut vraiment les prendre en compte.Il faut vraiment les prendre un par un.Et puis, vous vous dites, genre, ça oui, ça non.Et si j'ai pas de bêtises, ici, il y avait une étoile.
00:25:00 :Et là, j'ai bien mes trois étoiles, ok.Ok, ok, tac, plus un, un, un, un.Ok.Séparateur, ça, c'est bon.C'est le troisième.Ok, alors.
00:25:18 :Est-ce que vous avez ici, comme ça, vous voyez le...Baptiste, j'ai juste manqué...Tu as évoqué un double point à la ligne 4.Ouais.Excuse-moi, ouais.
00:25:39 :Donc, les aliens plus étoiles, je dirais, trois étoiles.Ok, ça doit être ça, c'est bon.Je vais me l'enregistrer ici.Hop, ok, alors.Est-ce que comme ça, ça vous paraît simple ou...
00:25:54 :Ou ça vous paraît un peu chiant à faire ?Les deux derniers sont ok.Alors.Tac.Alors, que je me souvienne, du coup, sur celui-là.
00:26:14 :Non, si je le refais comme ça.Moi, je dirais la boucle forte.Alors.Celui-là, non.Parce que là, j'en ai trois.Moi, je dirais plutôt que c'est le troisième.
00:26:34 :Le troisième point.Je dirais un 4.Alors, dites-moi, le 4, vous m'avez dit le troisième.Tout de suite, non, parce qu'ici...Pardon ?Non, mais là, c'est vraiment tel quel.
00:26:52 :Oui.Ouais, mais du coup, là, c'est mort.Faut que ce soit la commande qui renvoie exactement ce qui a marqué la liste.Ah, oui.Je n'ai pas marqué la liste.
00:27:07 :Non, mais c'est le petit piège.C'est vrai que c'est un petit peu piège.Après, là, ils vous mettent une boucle.Mais en gros, ici, vous avez celui-là.
00:27:19 :Parce que là, vous allez bien avoir le plus en séparateur.Vous allez avoir l'étoile.Donc, plus étoile.Ici, vous allez avoir le moins ici en séparateur.
00:27:31 :Et là, vous allez bien avoir deux étoiles.Et je crois que le séparateur, il marche à la fin aussi.Donc, trois étoiles.Si je ne dis pas de bêtises, c'est ça, ouais.
00:27:44 :Ça va ?Donc, du coup, il marche pas.Parce que si tu rajoutes une étoile à la fin, ça te fait quatre étoiles au bout du compte.
00:27:53 :Alors, t'es sur quelle ?Sur le 1.Tu disais qu'il y avait une étoile.Le séparateur, s'il marche à chaque coup, à la fin, ça te fait quatre étoiles au lieu de trois.
00:28:05 :Attends, parce que là, je m'hyperopsie.Ah oui, non, à la fin, t'as pas le séparateur.Excuse-moi, t'as raison.Donc, t'as 1, 2, 3, ça va être celle-là.
00:28:18 :1, 2.Et la troisième, elle est faite avec le séparateur de celui-là, c'est ça ?Oui.Voilà. Il est galère, il est vraiment plus de tête.
00:28:30 :Non, parce que justement, à la fin, c'est précisé le end.Il y a chaîne vide.Pardon ?Vous m'entendez ou pas ?Donc, la dernière itération, entre parenthèses,le dernier séparateur, c'est vide.
00:28:48 :Donc, du coup, ça marche.Oui, c'est ça.Bon, celui-là, on peut l'éliminer.On supprime.Celui-là, vous me dites si vous êtes d'accord ou pas,oui ou non, si on supprime ou pas.
00:29:06 :Faites-le dans votre tête et vous me dites oui ou non,mais je vais le refaire.On garde celui-là.OK, donc on peut le garder.C'est bien ça, plus l'étoile avec les deux étoiles.
00:29:21 :OK, ça, c'est bon.Et celui-là, du coup ?Celui-là, on peut le garder aussi.OK, c'est ça.Bon, vous avez vu que c'est quand même un petit peu prise de tête.
00:29:37 :Je ne sais pas si vous êtes d'accord, mais il faut vraiment faire gaffe.Et donc, Christophe, je vois que tu avais le premier et le dernier.
00:29:48 :Et la bouche, justement.Oui ?Est-ce que le « end » va jouer le même rôle au niveau du « for »que sur les deux « prints » ?
00:30:02 :En fait, là, regarde, tu vas printer ton « x ».Donc, tu vas printer « x » pour chaque élément.Donc, tu vas faire « plus ».
00:30:11 :Oui, quand je mets « plus », je mets « end star ».OK, donc après, tu vas avoir ton étoile.Voilà.Ensuite, tu vas printer ton tyranignon, ou pour moi, un peu comme tu veux.
00:30:25 :Tu vas avoir ton étoile.Ici, tu as printé ton étoile.Et tu vas encore avoir une étoile.En gros, là, ce n'est pas ce qu'ils te font jouer.
00:30:37 :Ici, ils vous font jouer avec le séparateur, avec le « end » ici.Mais là, ils vous font jouer surtout avec le « end ».
00:30:43 :Et à chaque fois que c'est un itérateur, vous y tirez dessus.Donc, là, ils vous embrouillent un peu avec ça.Donc, il ne faut pas oublier le « end » à chaque fois.
00:30:54 :Ce n'est pas un séparateur, mais il faut prendre en compte.Le « end », lui, il l'achète à chaque fois.À chaque « print », il l'achète à la fin.
00:31:03 :Oui, c'est ça. À chaque « print », tu l'as à la fin.Sinon, tu ne serais pas bon.Voilà.Donc, ça, c'est bon.Ouais, c'est bon.
00:31:18 :C'est assez mal au crâne quand même.Est-ce qu'on en fait un petit dernier ou pas ?Je regarde le tout dernier pour la fin.Oui, s'il vous plaît.
00:31:30 :Alors, j'en avais un autre.Stéphane, j'en regarde un que tu avais eu pour le prochain Mentorat.Un avec Icard Tools et un avec la classe véhicule.
00:31:39 :Je ne sais pas si tu t'en souviens.Avec le boot, la flottabilité et tout ça.On le verra.On va le garder parce qu'on peut peut-être passer un peu plus de temps dessus.
00:31:51 :Alors, j'avais...C'est une galère.Attendez.« Quelles sont celles dont les situations dépendent ?La taille de l'ensemble S. »Là, on parle vraiment.Ils vous le disent de toute façon.
00:32:12 :« Celles dont le temps d'exécution dépend de la taille. »Ça dépend vraiment de la taille.Ah oui, il rajoutait quelque chose.Il vous disait... Je peux copier ça.
00:32:24 :S et V.Donc, elles ont une longueur similaire.Ok, dépendent de la taille de l'ensemble S.Voilà. C'est parti.Donc, il y avait...Il y avait une autre...
00:32:42 :« L'élément est un élément de l'ensemble S. »Alors, excusez-moi.« L'élément est un élément de l'ensemble S. »Donc, ça, c'est tout ce que vous avez à savoir avant de faire l'exercice.
00:32:57 :Alors, là, c'est parti.On propose S.pop.« Élément, Inset. »Je ne sais pas si je dois le mettre comme ça.« S » ?
00:33:17 :Hein ?Oui, c'est « inset. »« L'élément, inset. »Et le dernier, c'était S égal V.Je n'ai plus le truc sous les yeux.
00:33:32 :Tu l'as sous les yeux ?Oui, c'est bien ça.Ok, donc ici,il précise bien que S et Vsont des éléments de la même longueur.
00:33:49 :Et qu'est-ce qui dépendde la taille de l'ensemble S ?Je regarde si j'ai les vrais pour ça.Je dirais le 7, l'élément de 7.
00:34:15 :Alors.Ok, donc c'est-à-dire quoi ?Donc là, ici.Alors.Justement ici,ça ne va pas dépendre ici.Parce qu'en fait, quand tu es dans un 7,quand tu recherches un élément dans un 7,tu as une table de hachage, donc tu es en haut 1.
00:34:42 :Donc ton 7, il peut être grand, mais ça ne changera pas.Pour un 10, il n'y a qu'une réponse qui est bonne.Je ne sais pas si... Ah voilà, je regarde, c'est moi.
00:34:56 :Même si en terme de piège, il te l'a suggéré,là, Stéphane, qui l'a passé il n'y a pas longtemps,tu peux le certifier.Des fois, ils te font buter violemment.
00:35:09 :Je confirme.Ok. Ligne 6, tu parles de celle-là.Par exemple,ici-là, qu'est-ce que ça fait ?En gros, sur le head.pop,on est sur un temps constant.
00:35:27 :S.pop, on est sur notre 7.Sur un 7,on va retirer un élément aléatoire.Donc on est en temps constant.Un élément et une 7, on est aussi sur un temps constantavec la table de hachage.
00:35:50 :Par contre, ici, on fait S égale V.Vous êtes obligé de parcourir tous les éléments de Set de V.Christophe, je ne sais plus si je l'ai réussi,cette question-là,mais même moi, sur celle-là, je crois que j'avais un douteet je ne savais pas trop s'il fallait la cocher ou pas,
00:36:11 :mais vu qu'il fallait bien en cocher une,j'avais coché celle-là quand même.Ça va pour vous ?Un peu.Avec le pop, temps constant,ici, on est dans le 7.
00:36:29 :On retire un élément randomet ici, on parcourt les éléments de chaque liste.Donc on n'est plus en temps constant.Ça dépend de la taille de la liste.
00:36:41 :Il y a un sujet qui peut être intéressant à creuser,mais qui peut être assez complexe.Quand on fait un S.pop sur un 7,vous bossez sur différents 7et vous allez retirer un élément random.
00:36:59 :J'ai fait des tests sur des 7 avec des petits nombreset ça me retirait toujours le premier élément.Mais par principe, j'ai regardé.Normalement, quand on fait un S.pop sur un 7,
00:37:11 :ça retire un élément random.Vous ne le demandez pas, je vous le dis normalement.Je déborde un peu, mais voilà.Est-ce que c'est bon pour vous ?
00:37:23 :Est-ce que ça vous a aidé un peu ou pas ?Oui, ça va pour moi.C'est un peu plus clair, oui.Merci.Super, super.Je ne sais pas s'il y a des questions,mais sur le prochain mentorat,on fait un exercice avec une consigne.
00:37:47 :C'est pareil, au début, j'ai du mal à la comprendre,que Stéphane a eue.Ils aiment bien faire des consignes comme çaoù c'est un peu galère à déchiffrer des fois.
00:37:59 :On va revenir sur EtherTools.L'exercice dont parle Gab est excellentparce que ça montre vraiment l'intérêt.Sur beaucoup de questions, je me suis fait voir là-dessusparce qu'on me croit avoir compriset il y a quelques questions où je me suis fait bananerparce qu'en fait, pris dans le stress et trop vite,
00:38:20 :je ne suis pas compris clairement à la consigneet je me suis fait avoir.Voilà.Donc voilà.Il y a combien de questions sur l'examen Toza ?
00:38:35 :On a combien de temps ?35, t'as une heure et demie.Mais par contre, tu as un temps par questionqui peut être variable.Moi, j'ai failli être en paniqueparce qu'ils m'ont posé une question.
00:38:54 :Il fallait que je remonte un graphe en algorithme.Donc surtout, sur l'examen Toza, vous n'avez pas d'aide.Il n'y a vraiment rien. Vous êtes filmés.
00:39:03 :Il y a des ordinateurs qui vont vous regarder après.Il n'y a pas de casque sur la tête ni rien.Donc c'est vachement contrôlé.Par exemple, ils m'ont envoyé un exercice.
00:39:15 :C'était une consigne, mais c'était un graphe acyclique.Heureusement, je l'avais déjà vu avant cet algorithme-là.Et celui-là, pour le résoudre,vous avez 8 minutes.Mais franchement, si vous ne connaissez pas le pattern,ça me paraît compliqué de le résoudre en 8 minutes.
00:39:33 :Il est dans les exercices qu'il y a sur Docstring.Comme ça, ça permet de travailler en avance.Donc voilà.8 minutes. Après les petits exercices, je crois que c'est 3.
00:39:45 :Il y en a à 5. Il y en a peut-être à 3, mais je ne suis pas sûr.Je ne faisais pas trop de graphes autour.
00:39:51 :Moi, ce que j'ai vu, la plupart étaient à 5.Je pense que 3, il n'y en avait pas.La plupart, c'est 5. Et ce que je disais il n'y a pas longtemps,
00:40:00 :c'est que pour ceux qui se posent des questions sur l'algorithmie,moi, j'en ai eu quand même, je ne sais plus,j'ai bien eu 4, 5 algorithmes à résoudre.
00:40:09 :Le graphe était chaud,mais pour les autres, si vous connaissezles fonctions de base de Python,vous pouvez vous en sortir sur les algorithmes.Les exercices de code,vous n'avez pas d'édorien, mais vous pouvez essayerle code que vous rencontrez. Vous n'êtes pas obligé de valider le code tout de suite.
00:40:30 :Vous pouvez essayer et voir si ça marche,et vous le validez que si ça marche.En fait, vous pouvez avoir plusieurs essais sur les codes.
00:40:39 :Il n'y a que sur les questions QCM que vous avez, où il faut tout de suite balancer.Vous choisissez votre réponse, vous la balancez et point.
00:40:45 :Le code, vous pouvez essayer.Il n'y a pas de deux essais sur les QCM, malheureusement.Donc voilà.Je comprends bien.Tu peux tester ton codeavant de cocher la réponseque tu veux.
00:41:06 :En fait, tu vas tester ton code, celui-là.Et quand il va être bon,tu vas avoir un pop-up qui te dit que c'est la bonne réponse validée.
00:41:15 :Et tu es content.Maintenant, il n'y a que 2 ou 3 tests ?Non, tu peux tester autant de fois que tu veux.Quand tu fais tes tests et qu'ils ne sont pas bons,ils ne te proposent pas les propres réponses validées.
00:41:30 :Mais le timing est là, en fait.Si c'est 3 minutes, ça ne doit pas te dépasser de 3 minutes.Oui, c'est ça.Donc eux, c'est comme sur Doctrine.
00:41:42 :Ils ont des asserts et il faut les passer.Si tu ne les passes pas, c'est mort.Donc il ne faut pas se stresser quand il y a des algorithmes qui arrivent.
00:41:51 :Pensez toujours aux fonctions de base,genre Enumerate, Instance.Moi, je sais que j'ai résolu tous les algos, à part le Graph, où c'était plus chaud.
00:42:00 :Mais sinon, tous les autres algos que j'ai eus,j'ai pas du Enumerate, Instance, ce genre de choses.Tu parlais d'arbres pour le Toza.Il n'y a pas des trucs tordus avec des arbres binaires ?
00:42:15 :Je crois qu'ils appellent ça un arbre acyclique.Et après, tu vas avoir une matrice avec des arêtes.Ok. Il existe-t-il de reconstituer des listes chaînées ?
00:42:25 :Il n'y a pas à faire ?Moi, ça ne me dit rien.J'ai passé une fois et j'ai fait une évaluation à l'époque.Je parle de ça au mois de juin.
00:42:37 :Je vous montrerai les 2 algos les plus durs que j'ai eus.La prochaine fois, s'il vous plaît.Pour rassurer tout le monde au niveau du code,ils n'attendent pas que vous donniez un codeavec des lignes bien définies, bien précises, et ainsi de suite.
00:42:56 :Le truc, c'est que votre code marche.Après, quelque part,ça aura peut-être un impact sur le nombre de points à finalpar rapport à l'examen final, mais en gros,pour valider l'exercice, il faut que votre code marche.
00:43:11 :C'est vraiment le plus important.Que vous fassiez une compréhension de liste ou pas,ça passe.Est-ce qu'il y a des choses plus génériques ?Expliquer tel ou tel PEP, quelle est sa signification ?
00:43:27 :Oui, en fait, ils ne te demandent pas de l'écrire,mais ils te font des exercices.Par exemple, avec le walrus,avec PEP, je crois que j'en ai eu,ils vont te donner un QCM et pareil,il faut que tu aies une bonne réponse.
00:43:48 :C'est pas à toi de les écrire.Stéphane, tu te souviens d'avoir eu des trucs plus génériques comme ça sur PEP ?Non, je n'ai pas eu de trucs comme ça.
00:43:57 :Comme tu disais, les questions, c'est soit du QCM, soit du code à résoudre,soit de chaque côté,il y a quatre éléments d'un côté et quatre éléments de l'autre,Ceux-là, je préférais à la limite.
00:44:10 :Ça dépend la question.Quand c'est de l'hypertool, c'est moins sympa.Ah oui, on ne vous arrête pas ça.Il n'y a pas de questions comme sur Doctrine où il faut développer sur un paragrapheà peu près toutes les réponses que tu fais ?
00:44:25 :Je confirme, ça fait une semaine que je travaille des thèses sur Doctrine,c'est beaucoup plus punitif que ce que j'ai eu sur le Dozer.Ils sont vénères, je trouve.
00:44:34 :Ça va vous obliger à être précis,parce qu'effectivement, les thèses sur Doctrine,à l'époque, avant d'être mentor,j'en ai fait, mais j'ai tous fait, même niveau avancé, expert,ce que vous voulez.
00:44:50 :Niveau expert, en plus, il y a des questions qui sont bien chaudes.Vous allez facilement avoir un résultat final à 50% par exemple.C'est normal.
00:44:59 :Je crois que le plus frustrant, c'est quand on répond bien,qu'il y a un commentaire dans le code,ou deux frappes, mais surtout qu'on a bien réponduet que l'IA derrière n'arrive pas à capter ce qu'on a écrit.
00:45:11 :Au bout d'une semaine, ce que j'en tiens comme conclusion,c'est que de faire des thèses comme ça,ça permet aussi après, sur les notions,d'avoir une réelle connaissance sur la notion finalement.
00:45:26 :On la rentre bien dans la tête,et je pense que quand je passerai le test final,même si là je me dis, l'IA et les questions de Thibault,je pense que je le remercierai au bout du compte.
00:45:39 :On est d'accord.Le bachotage fait bien rentrer les choses dans ce cas-là.Si vous vous intéressez après à chaque question,après quand vous arrivez au niveau avancé, niveau expert,à chaque concept,moi ça m'a permis après de les réutiliser,après je ne dis pas, pour faire des questions,il faut pouvoir créer votre contexte manager,
00:46:04 :ça perso je ne l'ai jamais refait,mais c'est intéressant à savoir.Comme les générateurs, moi j'ai un projet que je développe actuellement,et je pense que la clé du générateur,ça va lui faire gagner de l'optimisation.
Aucune occurrence trouvée pour « ».
00:00:21
Présentation de l'opérateur Walrus
00:03:00
Le Walrus pour le TOSA
00:03:51
Discussion sur la complexité algorithmique
00:09:00
Comparaison entre sort et sorted
00:14:00
Exercice de compréhension des structures de données
00:25:00
Explication des complexités temporelles avec pop et opérateurs sur set
00:36:00
Conseils pour l'examen TOSA