Session du 01 juillet 2025 à 21h00
TOSA & Certifications
Librairie Standard & Modules
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
Création d'un script pour la conversion de temperature (C/F) et une script pour manipuler datetime pour faire des cacul sur les départ arrivée et délai de trajet de train
00:00:00 :Et voilà, c'est parti pour l'enregistrement.Bon, alors pour ce soir, je vous ai parlé, on va faire des choses qui sont, comme vous le disiez tout à l'heure, un peu purement TOSA.
00:00:14 :C'est des choses que moi j'ai eues notamment lorsque j'ai passé le TOSA.On va être sur des notions assez classiques.Je vais vous laisser découvrir un petit peu au fur et à mesure du truc.
00:00:29 :Le premier, il va reprendre un petit peu notre petite discussion qu'on avait à l'instant.Ça c'est une question que vous avez TOSA.On va faire de la conversion des températures entre les degrés Fahrenheit et degrés Celsius.
00:00:49 :Alors, pour ceux qui étaient là quand j'en ai parlé, il y a une petite formule à connaître.Il n'y a pas de secret, il faut l'apprendre.
00:00:59 :Je vais vous la montrer dans les fonctions qu'on va implémenter pour faire cette conversion.À ce moment-là, il faut essayer de les mettre de côté et les retenir.
00:01:08 :Ce n'est pas hyper complexe, il faut juste l'apprendre.Alors déjà, est-ce que vous savez tous quelle est la différence entre les degrés Fahrenheit et les degrés Celsius ?
00:01:18 :N'hésitez pas à parler parce que je n'ai pas la position.Les degrés Celsius, c'est plus adopté chez nous.Et les degrés Fahrenheit, c'est plus aux Etats-Unis, non ?
00:01:37 :Voilà. Et quelle est la différence principale ?C'est le positionnement de zéro.Et pas les degrés Fahrenheit ?Non.D'accord.Ce n'est pas le même positionnement de zéro.
00:01:56 :Ok.Donc, je vais vous montrer un peu déjà la première formule.Je vais vérifier qu'il y a quelqu'un qui arrive.Oui, certainement aussi.Je vais répondre à la question de John.
00:02:18 :N'hésitez pas à utiliser le micro parce que je ne vois pas le chat.Je risque de passer à côté de vos questions ou de vos remarques.
00:02:25 :Et puis, n'hésitez pas à m'interrompre. Il n'y a pas de soucis.Merci à toutes et à tous les pilotes qui connaissent.Donc, voilà comment on convertit des degrés Celsius en degrés Fahrenheit.
00:02:44 :Les degrés Celsius, on va prendre la valeur en degrés Celsius.On va multiplier par 9 cinquièmes et on ajoute 32.Pour les degrés Fahrenheit, on va les convertir en Celsius.
00:02:58 :On va retirer 32 et multiplier par 5 neuvièmes.Alors, si vous avez des souvenirs même assez vagues de vos cours de maths,je pense que ça doit vous paraître relativement logique.
00:03:12 :Dans un cas, on ajoute les 32. Dans l'autre, on les retire.Dans un cas, on multiplie par 9 cinquièmes. Dans l'autre, on multiplie par 5 neuvièmes.
00:03:19 :Donc, il n'y a rien d'extrêmement compliqué là-dedans.Le seul truc, c'est qu'il faut retenir la formule.Très sérieusement, il y a une question qui passe au POSAoù on vous demande de plus ou moins ressortir cette formule.
00:03:38 :Donc, quand je vous disais de la prendre par cœur,ça peut être une réponse assez facile.Simplement, c'est une formule mathématique.Donc là, on a défini comment on faisait pour convertir nos degrés,soit en Celsius vers Fahrenheit, soit en Fahrenheit vers Celsius.
00:03:56 :Maintenant, comment on va faire ?La première chose, il va falloir qu'on interagisse avec l'utilisateur.Donc, qu'est-ce qu'on va utiliser pour ça ? Est-ce que vous avez une petite idée ?
00:04:07 :Non, personne ?Tu pourrais répéter la question, je n'ai pas très bien entendu.Maintenant qu'on a défini nos fonctions pour convertir,comment, qu'est-ce qu'on va utiliser pour convertir,pour interagir avec l'utilisateur ?
00:04:38 :On va utiliser une variable qui sera soit en Celsius, soit en Fahrenheit,et on appliquera la fonction dessus.D'accord. Alors, comment on va renseigner cette variable ?
00:04:51 :En lui attribuant un nombre qui est égal et une valeur ?Alors, oui, ça c'est une valeur en dur, mais on va l'utiliser.On veut que notre programme, à chaque fois que l'utilisateur utilise le programme,il puisse justement sélectionner, dire, tiens,je veux faire une conversion en Celsius vers Fahrenheit,
00:05:15 :ou en Fahrenheit vers Celsius,et dire, voilà, la température en Celsius s'étend,ou la température en Fahrenheit s'étend.Et comment on va pouvoir faire ça, en fait ?
00:05:31 :On met une fonction Input.Voilà. On va utiliser Input.Voilà. On va utiliser Input.Alors, on va utiliser un choix.La première question qu'on va lui poser.
00:06:07 :Alors,qu'est-ce qu'on va lui demander en premier, d'abord ?Alors, on va travailler. Qu'est-ce qu'on va d'abord lui demander ?Exactement. On va d'abord lui demander quel type de conversion il veut faire.
00:06:33 :Donc, on va utiliser le choix,et on va lui dire,alors, choisissezla conversion,et pour simplifier un peu le truc,on va lui dire, par exemple,on va lui dire 1 pourCelsius,pour degrés Celsius,c'est ce que je veux, vers degrés Fahrenheit,et 2 pour degrés Fahrenheit vers degrés Celsius. D'accord ?
00:07:41 :Voilà. OK. Donc maintenant, on a d'autres choix.Donc,voilà.Voilà.Maintenant qu'on a d'autres choix, on va utiliser quoi comme cadreavec Python qu'on a l'habitude de voir ?
00:08:09 :La structure conditionnelle.Voilà. On va partir sur une structure conditionnelle. Donc,le premier cas qu'on a, c'est pour Celsius vers Fahrenheit. Donc, si choixégale 1,là, on va faire notre conversion.
00:08:37 :On va ensuite devoir lui demander quelle est la valeur de la température.Donc là, comme on fait, le 1 c'est une condition de Celsius,on va l'applicer, la variable, et on va lui dire,on va la transformer en flux, parce que comme ça, ça permettra de faire 32 degrés de
00:08:53 :soie, 32 degrés 5, et ainsi de suite.Et on va demanderquelle est, bon, les personnes qui nous proposent du temps, c'est pas mal.Est-ce que ce genre de structure, vous les aviez déjà vues ?
00:09:09 :Oui.Le fait de convertir, ok.Donc, aucun souci pour personne.Alors, une fois que c'est ça,on va afficherla température convertie. Pour ça,on va faire un petit print, quelque chose de basique.
00:09:37 :On va utiliser le lefting,il n'a pas été assez...Moi, ce que je vais faire, c'est ça. Je vais ajouter çaavec un point de S. Alors, est-ce que ça fait ça ?
00:09:53 :Ça fait que j'ajoute mon point de S derrière.Il y aura deux décimales après le point.Exactement. Ça va permettre de limiter le nombre de décimales.
00:10:05 :Comme ça, si j'ai un bizarre qui me rentre32°455 ou 4558ou un truc comme ça, ça va automatiquement me garderque les deux dernières décimales après la virgule. Alors, attention, ça ne fait pas
00:10:21 :d'arrondi. Ça va juste se contenter de tronquerà deux décimales. Dans l'exemple que j'ai donné, 32°485,logiquement, si on fait un arrondi, ça fait32°46. Là, avec le point de S,
00:10:37 :ça ne vous fera que deux décimales, mais ça va tronquer.Donc là, on a des degrés.Et on va dire...C'est égal à...Là, on va utiliser notrefameuse formule qu'on a créée.
00:11:01 :Donc là, on va prendre la fonction qu'on a créée.On a revenu en haut ici.On va lui passernotre valeur de C. Là, on ne va pas s'embêter
00:11:17 :à tronquer la décimale pour justement essayer de garder un calcul relativementjuste, si jamais on est bien à 32°455 comme je disais tout à l'heure.
00:11:25 :Là, à partir du moment où je rentreun float ici, est-ce que je vais devoir le reconvertir à mon résultat ?Parce que du coup, je fais un calcul, mais est-ce que je peuxpasser mon float et récupérer un float, ou est-ce qu'il va falloir que je fasse une autre opération ?
00:11:41 :Avec les opérations mathématiques,ça retournera un float ? Voilà.Si je rentre un float en entrée, ça retournera un float. Si je passais un int,
00:11:57 :ça retournerait un int.On va refaire notre arrondi et on va le mettre en parrainage.Alors là, on va faire ce qu'on fait souvent pour les formations.
00:12:09 :Je sais que j'ai mon choix 2.Et là, ce qu'on va faire, c'est qu'on va tester déjà ce qu'on a fait làpour voir si ça marche.
00:12:29 :Ça ne va pas retourner une erreur ? Le print et le return à la fois ?Non, justement. Parce qu'en fait, là, ici,c'est une fonction, d'accord ?
00:12:41 :Mais cette fonction, comme elle retourne quelque chose,c'est comme si je mettais une variable.Et en fait, il va prendre la fonction, il va l'utiliser.
00:12:53 :Comme j'ai passé le paramètre et tout, pas de souci.Il va faire son petit calcul ici, il va le renvoyerlà où était la fonction, et du coup, il va le mettre ici automatiquement.
00:13:05 :Du coup, je n'ai pas besoin de créer une variable intermédiaire pour obtenir ma valeur.Ça permet d'économiser un petit peu de mémoire.Bon, alors, d'accord, à ce niveau-là de script, c'est pas extrêmement prégnant.
00:13:21 :Mais si dans tes jeux, vous prenez ce genre de mode d'habitude,quand vous arriverez sur des scripts un peu plus complexes,ça évitera de faire des programmes où l'utilisateur a besoin d'avoirsoixante-quelles gigas de mémoire.
00:13:32 :Sinon, il ne pourra jamais faire tourner votre script.D'accord ?Donc là, comme je vous le disais, on va d'abord faire un premier test.Bon, déjà, ça marche. Il me propose de faire la conversion.
00:13:50 :Donc là, comme pour l'instant, on a fait que la première, je vais utiliser la première.On va rentrer, mais 32°755 comme tout à l'heure.Ah ! Je rencontre une erreur. Pourquoi ?
00:14:09 :Je ne peux pas convertir une chaîne de caractère en float.D'accord ?Donc, du coup, on va essayer de faire autrement.Est-ce que si je fais ça,si je mets un point, est-ce que ça change quelque chose ?
00:14:37 :Ah ! Donc voilà.Donc, quand vous voulez rentrer un float, il faut rentrer un point et pas une virgule.D'accord ?Maintenant, ça, on vient de découvrir un premier bug.
00:14:51 :Donc, qu'est-ce qu'on va faire ?On va rajouter le petit ici.Mettre un point à la place de la virgule.Comme ça, on donne la bonne instruction à l'utilisateur.
00:15:10 :OK ?Maintenant qu'on a vu que ça, ça a marché, on va faire notre cas numéro 2.C'est très similaire, puisque forcément, on va simplement utiliser notre fonction.
00:15:25 :D'accord ?On lance notre script.Donc, du coup, on va tester notre fonction numéro 2.Donc là, j'ai rentré 67.895.Boum !Ça marche.Donc là, on voit déjà la différence entre les degrés Fahrenheit et les degrés Celsius.
00:15:48 :Vous voyez, ça fait à peine 20 degrés.Là, on est déjà à 68 degrés Fahrenheit.Maintenant, il me reste un cas d'utilisation.C'est le cas où la personne ne rend pas ce qu'il faut.
00:16:00 :Donc, qu'est-ce que je vais faire ?Voilà.Je vais rentrer le choix Avali.Je tente.Je lance.On va rentrer, par exemple, bonjour.Ça marche.
00:16:17 :Donc, on a déjà réussi à faire notre petit convertisseur de programmes.Maintenant, comment est-ce qu'on pourrait l'améliorer ?Avec une boucle ?Ouais.Comment, par exemple ?
00:16:29 :Une boucle qui permet que si on met le choix,si on rentre un choix qui est différent de 1 ou de 2,que ça repose la question,ça marque le message comme quoi c'est invalideet que ça repose la question de quel conversion on veut faire.
00:16:48 :D'accord.Alors, comment on va le laisser, cette boucle ?Alors, on va utiliser quoi ? Une boucle forte ?Comme il y a une condition, une boucle wild, ça serait peut-être que judicieux, je pense.
00:17:08 :Oui, très bien.Une boucle wild.Donc, on va commencer par un while true,tout bêtement.OK.Et ce qu'on va faire, c'est que...Je vais arrêter tout ça.
00:17:22 :Je vais arrêter tout ça.Hop, voilà.While true.OK.Et là, sur mes choix,ce que je vais faire, c'est que si on a bien choisi un des deux choix,donc c'est bon,on va mettre un petit break pour sortir de la boucle.
00:17:44 :D'accord ?OK.On reteste.On va essayer notre bonjour depuis tout à l'heure.Hop, choix invalide.Il me propose bien de choisir la bonne valeur.
00:18:02 :On va prendre la première.On va prendre le .405.Crac, ça marche, je sors.Maintenant, on va voir si ça marche.Ça marche, je sors.
00:18:13 :Maintenant, on pourrait encore optimiser ça un peu plus.Là,on crée,on rajoute un truepour faire notre while.Maintenant,ce qu'on pourrait faire,est-ce que vous connaissez l'opérateur WhileRus ?
00:18:32 :Oui.Voilà.Alors, le WhileRus,je vais vous montrer ça,vous allez voir, ça va simplifier beaucoup de programmes.C'est simplement deux points avec un égal.
00:18:49 :Alors, ça s'appelle WhileRus,parce qu'en anglais, ça fait le mors.D'accord ?Et si vous regardez bien l'opérateur,ça ressemble à un mors.D'accord ?
00:19:06 :Si vous tournez un petit peu sur le côté,on dirait un mors.Alors, qu'est-ce qu'il va faire ?Ah oui, voilà.Là, je vais dire que tant que le choixest différent,on va plutôt faire un mors.
00:19:31 :Voilà.Un ou deux.Et là, tu continues.D'accord ?Donc là,du coup, qu'est-ce que ça me permet de faire,ce WhileRus ?Vous allez voir, c'est très magique.
00:19:45 :Ça me permet de supprimer des breaks,puisque tant que la boucle,tant que le choix ne sera pas un ou deux,il va continuer la boucle,puisque là, ma condition ici ne sera pas réalisée.
00:19:55 :Et ensuite,si c'est égal à un ou deux,il s'exécutera et il sortira de la boucle.On va tester ça ensemble.Je vais tenter mon bonjour.
00:20:06 :Hop !Effectivement, ça marche toujours.On revient bien sur la boucle,parce que je n'ai pas renseigné ma valeur.Je vais faire le choix numéro deux.
00:20:17 :Ah !Alors, qu'est-ce que j'ai fait ?Ça m'a sorti de la boucle tout court.J'ai fait une bêtise.Ah !Une bêtise.Et qu'est-ce qui m'a sorti ?
00:20:40 :Ah !Ça continue.On va tenterça.Est-ce que c'est ça qui empêche que mon choix se rentre bien ?Alors, je vais tenter autre chose après, maisje ne suis pas sûr que c'est ça.
00:21:17 :Non.A mon avis, c'est parce queici, j'ai un cut-off peut-être.Alors, on va faire autrement pour que ça soit plus simple.A mon avis, si je fais comme ça,désolé,j'improvise un petit peu, du coup,je n'ai pas anticipé le script.
00:21:44 :Hop !On va faire un choix.On va tenter comme ça.Ah oui, mais ça y est, je sais pourquoi.OK.Il faut que je redéfinisse ma condition.
00:22:09 :C'est la bêtise que j'ai faite.OK.On va faire ça autrement.Comment je pourrais faire ça ?Parce que dans ce cas-là,le walrus, j'ai voulu montrer le walrus,mais c'est un peu plus compliqué à mettre en place.
00:22:30 :Alors, réfléchissons deux minutes.Voilà.On va faire comme ça.Hop !En fait, on va faire ça.Voilà.Désolé pour la petite improvisation.Voilà.Le else, on le supprime.
00:23:08 :C'est un peu plus clair.Et là, je vais mettre mon offspring.Et normalement, on devrait être bon.Voilà.Réussissons ça.En fait, l'erreur que j'avais faite,c'est que comme là,je pense un ou deux,du coup, mon wild, il est vérifié.
00:23:31 :Et du coup, il sort de la boucle sans l'exécuter.Normalement, ce coup-ci, on devrait y arriver.Et ça marche.OK.Pourquoi ?Ah ouais, d'accord.
00:23:55 :OK.Non, le wild russe ne s'appliquera pas dans ce cas-là.Je sais pourquoi.Parce qu'en fait, la valeur de soi va restertant que c'est la boucle.
00:24:05 :Mais une fois que la boucle est signée,tout le monde va l'épasser.C'est pour ça que j'ai maquillé comme une erreur.On ne peut pas adapter avec le wild russe dans ce cas-là.
00:24:12 :Mais bon, à savoir que cet opérateur existe.Mais là, sur ce cas-là, il ne s'appliquera pas.Donc, le point important à retenir sur ce script,surtout c'est ça, pour le TOSOR,il faut bien retenir cette formule-là.
00:24:27 :Parce qu'à un moment, il y a une questionoù vous vous retrouvez à devoir convertir des degrés Celsiusen degrés Fahrenheit.Alors, je pense que dans les tests sur Boxing,il y a ce genre de question qui est mis aussi.
00:24:40 :À vérifier.Oui, dans les tests de compétences.Oui, c'est bien ce qu'il me semblait aussi.Merci, Kappa.Dans le concept principal,est-ce que vous avez compris la chose ?
00:24:53 :Oui.Oui.C'est bon.Si c'est bon pour tout le monde,on va passer au deuxième trucque je vous avais préparé pour ce soir,pour rester dans le terme.
00:25:05 :Donc, j'ai commencé par les températures.Je pense que ça va parler à tout le monde.C'est quelque chose que tout le monde surveille en ce momentavec les thermomètres.
00:25:12 :Maintenant, on va faire un petit script rapideavec du datetime.Parce que ça, c'est un petit module qui fait un peu peur.Donc, on va travailler sur le datetime.
00:25:26 :Je vais interporter le module.Hop.Time.Et on va utiliser aussi un autre module.Je ne sais pas si vous avez déjà eu l'occasion de le voir, celui-là,mais vous pourrez l'avoir aussi au Posa.
00:25:42 :Le time delta.D'accord ?D'accord.Alors, qu'est-ce qu'on va faire ce soir ?Eh bien, on va tout simplementtravailler sur les trains.Je ne sais pas si certains d'entre vous partiraient en vacances en train.
00:25:58 :Vous allez pouvoir s'amuser avec ce type de scriptpour patienter pendant le voyage.Tout d'abord, on va faire une fonctionqui va être celle qui va certainement le plus intéresser au début,à savoir calculer l'heure d'arrivée du train.
00:26:15 :D'accord ?Alors, qu'est-ce qu'on va passer en paramètres à cette fonction ?Une petite idée ?Une heure de départ et un durée.Voilà.Alors, Johanna doit beaucoup utiliser la SNCFparce qu'elle me marque une heure de départ et une durée de retard.
00:26:50 :Donc, effectivement, la SNCF est spécialisée dans la durée avec retard,mais normalement, on va être de bonne foi ce soir.Alors, on y va.Et on va rester sur une durée sous cours.
00:27:01 :Hop là.Voilà.Alors, là, il m'a fait les typages.Je vais les virer pour ne pas vous embrouiller.Ce n'est pas nécessaire.Mais ça peut être une bonne pratique par la suite.
00:27:21 :Voilà.Donc,pour avoir l'heure de départ, il va falloir la convertir.D'accord ?Alors, on va partir du principeque la personne recevra l'heure de départ, forcément,sous le format heure-minute.
00:27:46 :D'accord ?On va rarement s'amuser, dans ce genre de cas,à faire des calculs juste à la seconde.Donc, pour avoir mon objet datetime,donc un objet que je pourrais manipuler et calculer,je vais d'abord devoir le convertir.
00:28:03 :Donc, je suppose que mon utilisateur va rentrer,mettons, 13h50.D'accord ?Et je vais devoir convertir cette chaîne de caractèrepour la passer en heure de départ.
00:28:21 :D'accord ?Alors,on va même plutôt dire, tiens,on va imposer ça, on fera ça quand on se la demande,en 13h...2.50.D'accord ?
00:28:36 :Donc, pour ceux qui ont déjà eu l'occasion de jouer avec le datetime,comment on pourrait faire en sortede prendre en compte cette heure de départ sous ce format-là ?
00:28:46 :Cette chaîne de caractère,comment est-ce qu'on pourrait la convertir avec un module datetime ?Ah !Aucune idée ?Avec la méthode strip ?Voilà, striptime.
00:29:14 :Donc, ce qu'on va faire,ce qu'on va lui dire,on va l'appeler départ, voilà.On va lui dire que ça va être égal,ça va être un objet datetime.
00:29:23 :Datetime, voilà.Avec %H, %M.Alors, ça, c'est les codes que vous avez,vous pouvez les retrouver sur Internet assez facilement.Je crois qu'il y a un site qui s'appelle striptime.org
00:29:38 :qui répertorie tous ces codes.Là, je vais vous les faire rapidement.Techniquement, le %H,c'est pour indiquer qu'on va rentrer une heure au format 24 heures.
00:29:53 :Et le %M,c'est pour indiquer qu'on va rentrer des minutes sur deux chiffres.Le deux points qui est icin'a aucune signification quelconque par rapport à l'objet datetime.
00:30:06 :C'est juste pour qu'il sacheque s'il va trouver les deux points dans la chaîne de caractère,il doit considérer que 13 correspond à %Het 50 correspond à %M.
00:30:16 :Une fois que j'ai mon objet datetime,maintenant, j'ai ma durée.J'ai une question.Les %M, %H, il faut les apprendre par cœur, ça ?C'est bien de connaître les principaux.
00:30:40 :Quand vous allez avoir du datetime à manipuler,si vous ne connaissez pas les principaux,ça va être compliqué.Notamment pour tout ce qui est jour, heure, mois, année.
00:30:52 :Jour, heure, mois.Alors jour, mois, année, minute, heure, seconde.Mais encore seconde,je crois que vous ne les faites pas manipuler en cas d'hypothèse.Mais ça, c'est des choses à bien connaîtreparce que vous pouvez être interrogé sur le sujet.
00:31:11 :Donc maintenant qu'on a ça,il va falloir qu'on récupère notre durée.Le problème, c'est que pour la durée,on va la calculer comme ça.On va faire avec l'arrivée.
00:31:28 :Donc on a time delta, d'accord ?Je ne sais pas si certains d'entre vous l'avez déjà utilisé.On va rentrer la durée en minutes.Sauf qu'on ne va pas demander forcémentà notre utilisateur de rentrer en minutes.
00:31:47 :Si par exemple le trajet fait 2h15,on ne va pas lui demander de faire de têteune conversion de 2h15 en minutes.Ça risque d'être un peu compliqué.
00:31:55 :Donc il va falloir qu'on trouve une astucepour pouvoir avoir une durée.Alors, avec 2 minutes met des heures,puisqu'on peut rentrer aussi çacomme paramètre pour le time, h.
00:32:11 :Maintenant, sachant qu'on a demandéde rentrer la durée au même format que l'heure du départ,comment est-ce qu'on pourrait faire pour obtenir ces valeurs ?
00:32:20 :Est-ce que certains d'entre vous ont une idée ?La même façon que l'heure du départ ?Le problème, c'est que là on va créer un objet d'actualité,donc on n'aura plus l'erreur h et les minutes m.
00:32:31 :On sépare la chaîne d'un caractère sur les deux pointset on attribue le premier compte du tempsà la chaîne d'un caractère.Et on attribue le premier compte du caractère à h et l'autre à m.
00:32:55 :D'accord, ça c'est une solution.Donc on va commencer par là.h m égale duréepoint splitpour les deux points, d'accord ?Par contre, il m'a mis un accent sur mes...
00:33:17 :Je vais virer ça parce que ça m'évite d'avoir des accentssur nos variables.Je n'avais pas vu qu'il nous avait mis par défaut, voilà.Ok, donc ça c'est un premier point.
00:33:30 :Maintenant, là si je fais juste mon split comme ça,ça ne va pas aller dans h et m, d'accord ?Comment je peux faire pour que ça aille dans h et m ?
00:33:42 :Il faut les convertir en integers.Déjà, il faut les convertir en integersparce qu'effectivement, ta nouvelle étape ne prend pas d'int.Mais comment je fais pour que...
00:33:56 :Alors là, typiquement, je vais mettre un commentaire comme ça.Là, si je fais mon 13h50, c'est cette valeur-làpour que tout le monde ait un bien visuel du truc.
00:34:07 :Je fais mon split là-dessus.Qu'est-ce qui va me retourner mon split ?Une liste de deux éléments avec 13 et 50.Voilà, exactement.Donc en fait, il va me rencontrer...
00:34:24 :Voilà, une liste avec 13 et 50.Donc là, du coup, ça ne va pas s'attribuer à h et m, d'accord ?La liste va s'attribuer à h et m n'aura aucune valeur.
00:34:39 :Est-ce que vous avez une petite idée de comment je pourrais fairepour que les valeurs de ma liste s'attribuent à h et m ?Pour les heures, tu fais int, h, on peut crocher 0.
00:34:59 :Et pour minutes, pareil, mais avec un coq, on peut le crocher.Ouais, alors en fait, il faudrait que je fasse ça.Je vois ce que tu veux dire.
00:35:07 :Alors, là, je prends ma valeur 0.Je la convertis en int.Je fais donc mon affectation parallèle.Je fais la même chose avec ça, mais je mets un à la place.
00:35:31 :C'est ce que tu voulais dire, Akappa ?Ouais, je crois, ouais, à peu près, ouais.Alors, c'est bien, mais c'est long.Ouais.Un bon développeur, il est pénient.
00:35:46 :Je vais vous montrer une autre astuce pour faire la même chose,avec beaucoup moins de code et moins de prise de tête en plus.Est-ce que vous avez déjà entendu parler de la fonction map ?
00:36:02 :Alors, ce que map va faire, c'est que, tout d'abord,si vous voulez faire une conversion, vous allez d'abord lui indiquer.Donc là, dans notre cas, ça va être int.
00:36:15 :OK.Et ensuite, vous lui passez une liste d'éléments.Et il va prendre chaque élément de la liste,il va les convertir en int et les attribuer aux différentes variables.
00:36:27 :OK.Donc là, il va prendre le premier élément, l'élément 0.Il va le convertir en int.Il va l'attribuer à H.Il va prendre le deuxième élément, l'élément A.
00:36:38 :Il va le convertir en int.Il va l'attribuer à M.Et si, par exemple, j'avais ça.J'avais mes secondes.Et bien, avec un map pareil, j'aurais plus qu'à rajouteret m'attribuer les heures, minutes, secondes dans les bonnes variables.
00:37:01 :Est-ce que vous avez déjà vu ce petit map ?Donc voilà.Quand vous avez des petits trucs à faire comme ça, pensez-y.Ça peut marcher plutôt bien.
00:37:18 :Donc, on a déjà bien avancé dans les fonctions.Maintenant, qu'est-ce qu'on va faire ?Maintenant, qu'est-ce qu'on va faire ?Voilà.Un jour, il faudra que je trouve comment désactiver ce fameuxDeepLeap autopilot.
00:37:41 :Voilà.Il va falloir qu'on renvoie notre valeur d'arrivée.Maintenant, pour obtenir une valeur lisible par Anastoma,il va falloir faire le conseil du StrictTime qui estle strfTime.
00:37:59 :Voilà.C'est ça.Donc, ce qu'on va faire, c'est qu'on va retourner notre valeur arrivée.Voilà.Avec un strfTime.Et comme on avait déjànotre codage en haut,hop, on le repasse.
00:38:24 :C'est ça.Si j'ai du mal à arriver, il me lance une erreur.Et donc, voilà.Maintenant, j'ai fait mon script.Est-ce que vous voyez ?
00:38:47 :Alors, j'ai supprimé ça.Est-ce qu'il signifie ?Oui, voilà.Encore une fois de plus.Est-ce que vous voyez ?Il y a une petite simplification à faire.
00:38:55 :Pas méchante, pas gênante.Mais il y a une petite simplification qu'on pouvait faire.En restant sur le principe du Programmateur Pigment.Non, personne n'a d'idée ?
00:39:05 :Si je fais ça, tout simplement.Hop.Et que je remplace mon code.Et que je remplace mon code.Et que je remplace mon code.Et que je remplace mon code.
00:39:32 :Et que je remplace mon code.Par mon formateur ici.On est bien d'accord ?Voilà.Mince.Ah purée.Voilà.Je vais essayer à la main.
00:39:59 :Ça ira plus vite.Ça revient à la même chose.D'accord ?Et l'avantage de ça,c'est que si demain,je décide de rajouter les secondes,j'ai juste ça à faire.
00:40:16 :Et là dans mon programme,les secondes sont rajoutées.OK ?Donc quand vous voyez des choses comme çaqui se répètent un petit peu,n'hésitez pas à créer une variablepour pouvoir éviter de répéter déjà la même formule.
00:40:29 :Parce que souvent, déjà,quand on a appris la formule,on a appris la formule avec les dataframes,c'est un peu lourd quand même,comme process.
00:40:38 :Même si quand on a fait le clic-clic, ça va.Mais ça reste lourd comme process.Si vous la mettez dans une variable,ça va me dire que c'est de la chaîne de caractère.
00:40:46 :Vous passiez une variablequi contient la chaîne de caractèreou la chaîne de caractère,c'est le même.Sauf que le jour où vous avez une mise à jourà faire sur votre programme,vous n'avez plus qu'un seul endroitoù faire la modification.
00:40:56 :OK ?Donc, voilà.Ensuite,on va rajouter différentes fonctions.Je suis en train de voir l'heure,je pense qu'on va passer directement,on va rester sur la calcul d'heure d'arrivée.
00:41:12 :Je vais vous mettre,voilà,avec...OK.Alors par contre,je ne vais pas faire tout ça comme ça.Voilà.Avec...Voilà.Juste vous montrer vite fait l'astucepour l'heure d'arrivée.
00:41:56 :L'heure d'arrivée.Donc,on a notre heure d'arrivée,notre heure de départqui sont exprimés en heures minutes.D'accord ?Là,quand je le transforme en...
00:42:05 :en objet datetime,je peux faire des opérations mathématiques avec.D'accord ?Donc,ce que je vais faire,c'est que je vais calculer la différenceentre l'heure d'arrivée et l'heure de départ.
00:42:19 :Là,je vais avoir,pour avoir le total des minutes,il va falloir que je fasse ça.Parce que là,je comprends bien entendutous les secondespuisque c'est un objet datetime.
00:42:37 :Donc l'objet datetime va avoir les heures,les minutes et les secondes.Même si je n'ai pas rempli la valeur des secondes,pour lui il y a une valeur.
00:42:42 :Donc, d'abord,je vais essayer d'obtenir le total des minutes.Donc je vais utiliser la formule suivante.Je vais diviserpar 60.Et là, j'utilise un intpour obtenir le nombre de minutes.
00:42:59 :Est-ce que je pourrais pas faire un peu tout ça ?T'as des idées ?Avec la division entière ?Voilà.Exactement.Au lieu de faire une division simplecomme l'a proposé Copilot,hop,je fais simplement une division entièreet forcément,le résultat c'est 1 minute.
00:43:32 :Donc,pour avoir la durée en heures minutes,on refait une division.Là, la solution est bonne.Le total minutes,on fait une division entière par 60.
00:43:46 :Nous sommes dans le run number.Et je fais un modulo pour les minutes.Alors, pourquoi je fais ça ?Pourquoi je fais une division entière pour les heureset un modulo pour les minutes ?
00:44:01 :Parce qu'une heure c'est égal à 60 secondes.Et si le reste ne fait pas 60 secondes,c'est forcément le reste de minutes.Voilà.Donc, pourquoi j'utilise une division entièreet un modulo après ?
00:44:24 :Pour être sûr que ça dépasse pas 60 ?Alors,en fait,sur mon total minutes,c'est le nombre total de minutesque va durer le trajet.
00:44:44 :D'accord ?En faisant ma division entièreavec 60,j'obtenirai totalement un nombre d'heures.Parce que j'obtenirai le nombre de fois en entierplus 60 minutes,y compris dans ma durée.
00:44:55 :D'accord ?Pour obtenir minutes,c'est pas dur.Si j'ai deux fois 60 dedans,admettons,mon total c'est,vous êtes au défi,144.Ok ?Si j'ai 144 en division entière par 60,on est d'accord,ça va m'envoyer 2.
00:45:15 :D'accord ?Mais si je fais un modulo,sur 144 modulo 60,là,il va me renvoyer les 24 qui restentpuisque modulo renvoie le restede la division.
00:45:31 :Et du coup,sans faire de formule un peu embêtée ou compliquée,j'obtiens bienle nombre d'heures et le nombre de minutes.Est-ce que c'est clair pour tout le monde ?
00:45:45 :Donc vous voyez,il faut savoir,il faut bien connaître les différents opérateursparce qu'ils vont vous aider,justement,à pouvoir mettre les choses correctement.Ensuite,on va retourner comme ça.
00:46:04 :Donc là,le 2.02n'est pas forcément nécessaire,mais il permet de s'assurerque c'est correct.Il permet de s'assurerque chaque chiffre sera bien sur le format de chiffre.
00:46:19 :Il va servir,par exemple,quand on n'aura qu'une heure,pour avoir 0, 1 heureet avoir un affichage correct.Pour les minutes,normalement,ça ne devrait pas poser trop de problèmes,mais pour les chiffresqui sont de 1 à 9,un coup,ça va rajouter un 0 dedans.
00:46:36 :Voilà pourquoi on utilise le 2.02.Donc ça,vous savez ce que c'est les 2.Alors,pourquoi on utilise heure départ et pas départ ?Parce que simplement,la valeur...
00:46:49 :Alors...Simplement parce que c'est une saute de frappequi est exactement bien vue.Alors,départ...Et normalement,on est bon.On est bon.Bien vu.
00:47:12 :Je suis perdu dans les explications,je n'avais pas vu la coquille.Merci.OK.Donc maintenant,on va rentrer un petit truc vite fait pour...Donc là,on ne va pas rentrer dans la boucle comme caisseur.
00:47:30 :Alors,là je passe vite fait,parce que ce n'est pasla partie la plus importantede ce qu'on voulait voir.De ce que je vais vous montrer aujourd'hui.
00:47:38 :Alors,on va aller sur cette GPTFR.OK.Et maintenant,on va regarder notre programme.Alors,qu'est-ce qu'on va faire au début ?Allez,je vous écoute.
00:47:51 :Vous voulez vérifier quoi ?OK.Allez, le 1.Merci John.On dit que le train part à quelle heure ?On va dire,allez,14h15.
00:48:13 :OK.Tiens,pour rester dans l'exemple que j'avais tout à l'heure,on va dire que le voyage dure 2h15.Bon,peut-être que ce n'est pas très dur à calculer.
00:48:24 :Normalement,il devrait nous renvoyer 16h30.Mais tu n'as pas mis les bons formats ?Je n'ai pas mis les bons formats.Oui,c'est possible.Tu as marqué 14h30.
00:48:35 :Ah,oui.My bad.My bad.Je suis un peu fatigué ce soir.Alors,on reprend.14h15.OK.2h15.Voilà.Qu'est-ce qui nous apporte ?Ah,oui.
00:49:02 :C'est en anglais,pas en français.Voilà.Je suis laissé pléger par le minuteur.OK.Donc,ça y est,ça marche.On y arrive.Maintenant,on va vérifier la durée.
00:49:32 :Allez,je vous laisse réfléchir à des heuresbien complexesqu'on aura du mal à calculer,peut-être,qui me donnent une heure de départ.19h40.OK.
00:50:00 :À une heure d'arrivée.5h35.OK.Voyons voir ce que ça fait.Ah !La durée est demoins 15h55.Qu'est-ce qui se passe ?Il ne comprend pasqu'il faut aller jusqu'à minuit,puis,il y a une heure d'arrivée.
00:50:28 :Il ne comprend pasqu'il faut aller jusqu'à minuit,puis,aller de minuit à 5h.Voilà.Exactement.Donc là,alors,on ne va pas avoir le temps ce soir,mais ce qu'il aurait fallu faire,c'est ici,au niveau de l'entréede la durée,c'est rajouter iciune conditionnalitépour faire en sorte
00:50:53 :que...Comment ?Qu'on puisse faire le calcul.Allez,on va essayer de faire ça vite fait.Donc,on va direifarrivée inférieure au départ.
00:51:07 :D'accord ?Voilà.Arrivéetime data plus...Voilà.C'est exactement ce qu'on fait.Donc là,ce qui va se passer,c'est que si l'heure d'arrivée,on va dire,ça va tricher un peu,est inférieure à l'heure de départ,ce qui est bien le casdans l'exemple qu'on a fait,à ce moment-là,
00:51:29 :avec le time data,tu rajoutes un jourqui va permettre,avec l'objet datetime,de se rendre compteque c'est après.Ok ?On vérifie ça.
00:51:38 :On lance.On va reprendreles mêmes heuresque Johan nous a données.Donc,19h40.Voilà,si j'ai fait une erreur,ce n'est pas grave.On reprend.
00:51:50 :19h40.Et5h35,de mémoire.Et là,ça marche.On a bien une heure,une duréequi est cohérente.Ok ?Donc voilà,il faut essayerde penser un petit peuà tout en amont.
00:52:21 :Donc vous voyez,même sur un petit scriptcomme çaqui peut paraître plus bête,on peut vite rencontrerplusieurs problématiqueset devoir anticiperplusieurs choses.
00:52:38 :Voilà,deux petits scriptsque je voulais vous présenter.Je trouve assez sympa.Ça nous permettaitde faire un petit rappelsur l'objet datetimeet de voir cette fameuseconversion en degrés Celsiuset degrés Fahrenheit.
00:52:55 :Qui peut tomber autour d'eux.Est-ce que c'est bon pour vous ?Oui.S'il y a des questions,n'hésitez pas à en profiter.Bon, très bien.
00:53:22 :C'est bon pour vous.Il n'y a pas d'autres questions.Moi, je vais vous laisser là.Alors,moi, je vous souhaiteun bon étépuisque je n'aurai pas la possibilitéde faire des mentoratspendant l'été.
00:53:33 :Je reprendrai en septembre.Par contre,si dans l'entretemps,il y a le Discord ou autre,vous avezdes propositions de sujetsque vous voudriez voir abordées,des petites revues comme ça,des petits exemples de scriptscomme ça sur certains modulesque vous voudriez voircomme on vient de faire ce soir,
Aucune occurrence trouvée pour « ».