J'ai commencé ta formation il y a 2 jours, je prend beaucoup plaisir à suivre tes cours et apprend beaucoup de chose ! Je dévore les épisodes un à un. Merci pour le partage de tes connaissances !
Bon tuto!! Raccourci: placer le curseur sur la deuxième variable ageUtilisateur ensuite Ctrl+Alt+T vous donne plusieurs choix: if, while, try/except, try/catch...
Oui on peut faire ça, même si personnellement je préfère écrire mon code moi-même plutôt que de le générer par un logiciel +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Merci pour tes vidéos de formation , tu es un excellent enseignant =) . Deux mois que je te suis sur différentes formations un régale d'apprendre autant de chose aussi facilement.
Bonjour, je suis actuellement en 2nd et l'année prochaine je compte prendre NSI (numérique science informatique) en spécialité. J'ai décidé de m'avancer un peu pour arriver l'année prochaine avec une certaine avance. Je tenais vraiment à te remercier car je comprend tout. Les cours sont simples à comprendre et ultra bien expliqués même pour quelqu'un comme moi qui n'a que 16 ans et qui n'a absolument aucune notion en informatique. Merci beaucoup!!!!!!
Merci Roger 👍 +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
De rien, à très bientôt 👋 +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Franchement, vous avez du talent à transmettre l'info 👍, c'est juste exceptionnel ! Je ne sais pas si vous vous rappelez de moi, mais je t'avais posé une question dans l'épisode 1 de la série, maintenant j'entame le 9e et je me lasse pas, et je suis toujours convaincu par votre cours.
Content de voir que tu t'en sors bien, et surtout, que tu prends ton temps. Généralement, je vois les gens aller beaucoup trop vite et se mettre en difficulté à cause de cela. Bonne continuation 👍
Avance à ton rythme, écris des petits programmes pour t'entraîner et comprendre tout ce que tu apprends, et ça rendra les choses bien plus simples à assimiler
Tes cours sont très compréhensible bravo. Tu n'inclus pas d'exercice, moi par exemple je crée deux fichiers (module.py, ton cours et module_exo.py) . Malheureusement je n'ai pas ton niveau de maîtrise et les exos que je me fais ne sont peut-être pas très pédagogiques. Il serait sympa que tu présentes des exercices en rapport avec les chapitres afin d'une meilleur compréhension pour être complet. Tu aurais sans doute plus de don . A bientôt.
Bonjour, il y a bel et bien des playlists d'exercices qui sont et seront complétées petit à petit. Chaque exercice suit la progression des notions et la difficulté de l'avancée des cours. Voilà pour Python : ruclips.net/p/PLrSOXFDHBtfEiSgOG1FM4oq-yS24iV4s1 Et de manière générale, les playlists actuelles de la chaîne : ruclips.net/channel/UCS2e0hEJMhwd6bNscS60xTgplaylists
Bonjour ! J'ai une petite question au sujet du finally. Il a pour but d'afficher ce que l'on veut dans tous les cas, qu'il y ai une erreur ou non. Du coup pourquoi pas juste faire un print après l'opération, sans tabulation ? C'est juste une question de propreté dans le code, ou il y a des cas où le finally sera indispensable dans des programmes plus complexes ? Merci beaucoup pour ces cours et le temps que tu y passes !
Parce que si une exception est déclenchée (except) avant que le programme ne quitte, ce qui suit ne sera jamais exécuté. Ainsi, le bloc finally garantit l'exécution de traitements avant que le programme ne quitte 👍
Merci à toi ;) +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
De rien et bonne journée =) +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
je voulais aussi savoir: on peut faire pour le programme de 29:42 if age < 25: raise AssertionError except AssertionError: print("j'ai attrapé l'exception") a la place de: assert age > 25 except AssertionError: print("j'ai attrapé l'exception") Cela revient au même si j'ai bien compris.
Oui, la seule différence vient du fait que dans le premier cas, c'est nous qui levons l'exception si notre condition n'est pas satisfaite. Pour le second code, elle est levée d'elle-même via le "assert". +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Bonjour. Merci pour la qualité de cours que tu présentes, j'ai une question concernant la fusion entre l'exceptions et la boucle while (ex: je demande a l'utilisateur de me donner un chiffre entre 1 et 31 sauf que c'est possible qu'il me donne une chaine de caractère et la je dois reboucler pour lui demander de me donnez un chiffre comment faire? Merci d'avance!!
Bonjour, tu as plusieurs possibilités, notamment de tester si ta chaîne saisie (avec le input) est constituée de nombres, par exemple : pastebin.com/a8nYJfBX +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
On peu factorisé le code de 10:41 avec ligne 8 + ligne 10 qui donnerais "nombre2 = int(input("Choisir le nombre pour diviser : ")) " ? ( dans le cas, ou on cherche a gagné en performance) Désolé, sa fait 2 semaines, que je bosse python, du coup, je sait pas trop si sa peu être une bonne pratique de factorisé ce bout de code en ma solution.
On peut le faire oui, mais cela ne fait absolument pas gagner en performance. Mais ce n'est ni bien ni mal de le faire, c'est une question de préférence, et de lisibilité de code pour toi 👍
Hey, j'aimerais être développeur plus tard, selon toi quels langages je devrait connaître ? J'entend par là les indispensables, rien ne m’empêcherait d'en apprendre d'autres :P
Bonsoir :). Le standard en informatique, qui est LE langage disponible sur tous les appareils, est le langage C. Ensuite, le Python est à savoir aussi car utilisable dans tous les domaines, et très portable.
Bonjour, super cours. j'ai une question concernant le Raise et le AssertionError : le Raise si j'ai bien compris sera utile lorsque nous créerons nos propres erreurs concernant les projet. je reprend en exemple ton inventaire du sac du joueur. supposant que le joueur ne peut avoir que 25 emplacements dans son sac, j'ai bien compris qu'on pouvais créer une Class InventoryError (par exemple) et l'appeler avec le Raise mais on peut également le faire avec le AssertionError directement et éviter de créer une Class Error juste pour ça . Donc ma question est dans Quel cas il est conseillé d'utiliser le Assert et dans quel cas le Raise. Et encore merci pour ton cours, tu est très pédagogue.
Bonjour, ta question est intéressante, car l'utilisation de l'un ou l'autre dépend du développement. Il n'y a pas forcément de bonne méthode, mais sur un gros projet, on préfèrera par exemple avoir sa propre classe de gestion d'erreurs, plutôt que de le faire un peu partout dans le code. Donc à toi de voir en fonction du programme que tu conçois et ce qui te semble le plus logique à implémenter.
Super vidéo merci beaucoup. J'ai juste un question, les assert on va les utiliser pour faire plusieurs test sur par exemple l'une de nos fonctions et si aucune exception n'est levée c'est que tout s'est passé comme on l'avait prévu, c'est bien à ça que ça sert ou est-ce moi qui n'ait pas bien compris son utilité ?
Oui en grande partie. Après, il n'y a jamais de garantie à 100% que le code soit correct mais cela permet de faire ce qu'on appelle des tests unitaires : ruclips.net/video/apgReCCAQr4/видео.html
Bonjour Jason, Merci pour cette vidéo très claire! J'ai une petite question: quelle est la différence entre un mettre un: if + raise+except et mettre un assert + AssertionError?.J'ai bien noté qu'il y en a un qui est écrit dans le try et l'autre non. Y a t'il un moment ou il est nécessaire d'utiliser plus l'un que l'autre? Merci d'avance. Bien cordialement
Bonjour, dans le premier cas c'est le développeur qui choisit de lever une exception (avec le "raise"), dans l'autre, on fait un test d'assertion, qui si elle n'est pas validée, lèvera d'elle-même une AssertionError (à traiter) ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
De rien ;) +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8/ |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Encore une vidéo très intéressante Merci. Juste une petite question Jason : l'avantage d'appliquer un pour lever une exception. On pourrait pas appliquer un if tout simplement ? Mais peut-être que dans l'avancement de la formation je comprendrai réellement pourquoi l'intérêt du .
Oui, tu peux le faire, teste et tu verras que ça marche comme dans un print(). +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Bon à savoir ✌ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ 💙 Si ce n'est pas encore fait, n'hésite pas à t'abonner à la chaîne ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8
Non, une structure conditionnelle permet de faire des tests d'expression et partager les traitements selon le résultat du/des test(s) obtenu. L'assertion, en fonction du résultat, peut déclencher une AssertionError, une erreur (que l'on peut éventuellement traiter) et qui va stopper l'exécution du programme. ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Merci pour le cours. Pour l'instant je vois pas l'intérêt d'utiliser les raise et assert ? On pourrait se contenter d'utiliser des if non ? Est-ce que c'est utile que plus tard ?
L'intérêt est de pouvoir stopper l'exécution du code quand une exception se déclenche (à minima), et que le développeur puisse traiter cette erreur en fonction (dans l'idéal). Exemple : l'ouverture d'un fichier peut lever une exception (si ce dernier n'existe pas par exemple). Si on ne traite pas l'exception, le programme s'arrêtera. Sinon, on peut gérer l'erreur et indiquer à l'utilisateur un message avertissant que le fichier à lire n'a pas été trouvé. Quant à assert, c'est très utilisé pour les tests unitaires, afin de vérifier son code et éviter/corriger de potentiels bogues : ruclips.net/video/apgReCCAQr4/видео.html
Bonjour Jason, Je ne souhaite pas abuser, mais j'ai un souci avec une boucle. Je souhaite entrer un chiffre (jour),et volontairement j'introduis des " lettres". Je demande donc à ma boucle de revenir au premier "input". Tout fonctionne avec un chiffre, mais mon - continue - en cas d'erreur ne fonctionne pas. jour = input(" Quel jour encoder : " ) try : jour = int(jour) except ValueError : int(jour) == False except TypeError: int(jour) == False else: while jour: if jour == False: continue elif jour != False: texte = " Le jour {} est accepté." print(texte.format (jour)) break else: print("") print("\tFin de programme ") Merci de m'éclairer et peut être également d'autres abonné(e)s ayant le même souci. Bien à toi. Amicalement.
A première lecture, ton code ne va pas du tout. Déjà, respecte bien les tabulations et retours à la ligne. Ensuite, je vois que tu as des else alors qu'il n'y a pas de "if" avant. Essaie déjà de corriger au niveau de la syntaxe :)
re Bonjour Jason, Merci de ta réponse diligente. Je vais à nouveau faire des essais, et à défaut je me priverai dans ce cas de la boucle. Merci encore. Bien, à toi .
Hello, une exception est un type de *classe* en Python (notion vue plus loin dans la formation), il n'est donc pas utile et possible de l'embarquer dans une variable puisque tu pourras traiter un certain type d'Exception directement dans son bloc sans problème. Sinon, au pire, de créer sa propre classe d'Exceptions qui hérite de celle de Python (mais ça, tu le verras dans les vidéos plus loin).
Salut , j ai un gros soucis avec le "NameError" ; je suis sur mac et il me semble que j ai la dernière version de python , je suis bien en UTF-8. si je veux faire un programme très simple par exemple : pseudo = input("Entre ton pseudo: ") print(pseudo) lorsque je l exécute, si je rentre tout simplement: Tom ils me mettent: Traceback (most recent call last): File "test.py", line 1, in pseudo = input("Entre ton pseudo: ") File "", line 1, in NameError: name 'Tom' is not defined Par contre si je rentre : "Tom" , pas de problème , il va print mon pseudo comme demandé ET SANS les " " Par ailleurs le programme marche aussi si je mets 'Tom' la tout fonctionne! Ensuite deuxième soucis, étroitement lié au premier: Quand je fais la même chose que toi vers 14:00 ; nombre1= 150 nombre2= input("choisi") try: nombre2 = int(nombre2) print("resultat = {}".format(nombre1 / nombre2)) except ZeroDivisionError : print("probeme du 0") except NameError: print("probleme NameError") except ValueError: print("probleme value") Eh bien le programme fonctionne très bien pour tous les except SAUF celui du NameError Ce serait géniale si quelqu un pouvait m aider!
OK, ton code est correct, sauf pour les indentations. Tu devrais donc avoir ceci : pastebin.com/x8iRmsXU +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8/ |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Merci de ta réponse , malheureusement ce n était pas un problème d indentations, youtube avait modifié mon code... j ai fait un copier coller et ça ne marche toujours pas , je pense qu il y a un problème dans la configuration de python sur mon ordi.... je vais faire des recherches plus poussées , merci de ton aide!
Oui sans doute, car ton code est bon et devrait fonctionner si tu as bien encodé ton fichier en UTF-8 depuis ton éditeur. +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8/ |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
FormationVidéo enfaite contrairement a ce que je croyais , je tournais sur python 2.7.11 , j ai donc changé pour la toute nouvelle version et le probleme est résolu, désolé du dérangement, merci bcp
Ah voilà qui est fait :) +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8/ |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Parce que cela ne l'oblige en rien à le faire. S'il entre une chaîne, cela déclenchera une exception, et le programme stoppera. Le seul moyen de l'y obliger est de passer par une boucle qui redemandera la saisie tant qu'elle n'est pas correcte : pastebin.com/rHnBGYcv
slt Jason, selon toi on devrait écrire d'abord le code et revenir ensuite s'occuper de la gestion d'erreur? ou alors on devrait gérer les erreurs au fur et à mesure qu'on écrit le code? Merci d'avance pour la réponse et pour tout.
Bonjour, tout ce qui est sécurité du code n'est pas à part et doit donc être fait durant la conception-même 👍 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Bonsoir/Bonjour Jason merci beaucoup ce cours très bien expliqué !! Je voulais aussi te demander si dans certain cas "assert" peut être utilisé comme un "if" ? Très bonne continuation !!
Salut! Je suis sur visualstudio, et je voulais te demander à quoi servait le débuggage et s'il faut quand même faire tout ça pour gérer les erreurs sachant que la plupart du temps, il est indiqué la raison et la localité de l'erreur. Merci pour tes vidéos.
Et bien le débogage permet de déboguer du code, donc aider et faciliter la recherche des bugs, en mettant des points d'arrêt, en voyant l'état des variables, etc. ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
On isole un code qui risque de déclencher des exceptions dans un bloc try/except, et on n'hésite pas à tester son code pour (assert et tests unitaires comme abordé ici en tutoriel : ruclips.net/video/apgReCCAQr4/видео.html ) ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Bonjour monsieur ,merci pour cette magnifique formation , s'il vous plaît pouvez-vous m'expliquer pourquoi quand je mets le cast avant le input il ne considère pas la variable comme un int et il affiche le texte que j'ai tapé .
excuse moi j'ai deux questions: -je ne vois pas l'interet du finally puisque on peut rajouter l'instruction a la fin tout simplement . -le else aurait il un autre interet a part ne pas mettre les instruction dans le bloc try ?
Alors le *finally* aura un code qui va être exécuté dans tous les cas de figure. A savoir qu'une Exception pourrait très bien stopper ton programme, mais en mettant du code dans le bloc 'finally", il sera exécuté quand même. Ensuite, le "else" s'utilise dans une condition ("if") donc je ne vois pas trop ce que tu veux me demander :)
Ah, je comprends mieux ta question sur le "else". Il permet de réaliser des instructions si on ne réussit pas le code dans le "try". Donc, si aucune Exception n'est levée, le code du "else" ne sera pas lu, à contrario du "finally" qui lui est TOUJOURS exécuté :)
Super série que je suis entrain de dévorer (actuellement en première année d'école d'ingé) mais je me demandais l'interet d'utiliser assert et non un if ?
Ce sont deux choses différentes : une condition, c'est juste une condition, pour vérifier une expression. Tandis qu'une assertion permet d'effectuer une condition, qui si elle n'est pas vérifiée, interrompt le programme en générant une erreur d'assertion.
Merci pour le cours, très pédagogue sauf que vous improvisez les exemples. Comment gérer les erreurs dans les cas où le nombre choisi est réel ou décimal par exemple?
Comme cela a été montré dans la vidéo. On exécute le code sensible (qui peut générer une exception) dans un bloc "try", et on traite, à minima toutes les exceptions avec un bloc "except", ou mieux, avec un bloc "except" qui spécifie le nom de l'exception précisément déclenchée. Et pour savoir quel type d'exception peut déclencher un traitement, pas de recette miracle, on regarde dans la documentation. Par exemple, ce code pour faire saisir un entier (qui peut servir à un calcul ultérieur) : pastebin.com/1yJExpVb
Salut svp je voudrais savoir comment redonner la possibilité à l'utilisateur d'entrer à nouveau une valeur si il a fait l'erreur d'entrer une lettre à la place d'un chiffre
Bonjour cher professeur Je suis bien conscient de l'importance de gestion des erreurs mais le ce cas précisément si on mettait au tout début nombre2=int(input("donne un nombre ")) ???! Merci d'avance
Bonjour, et bien cela revient au même que de le faire en deux étapes. Par contre, int() peut déclencher une exception, donc il faut toujours veiller à le faire dans un bloc try/except 👍
Bonjour, j'aimerais savoir si il est possible de créer une fonction pour tester si il y a une erreur et éviter de devoir tout réécrire à chaque fois? Je sais pas trop si je suis bien clair.
Tout dépend de l'équation en question, mais tu peux le résoudre à l'aide de boucles, ou implément certains algorithmes de calcul. De plus, Python possède pas mal de modules prévus pour ça (comme numpy).
salut :) j'ai du mal avec else dans cette leçon : tu dis dans le premier programme avec ageUtilisateur qu'il vaut mieux mettre le print("tu as ", ageUtilisateur, "ans") dans le else . dans le second programme parlant du diviseur , j'ai mis print("resultat de {} / {} = "format(nombre1, nombre2, nombre1 / nombre2)) dans le else ; j'obtiens une ZeroDivisionError alors qu'au dessus du else j'avais fait une exception contre la division par zero. else: c'est autre ; dans cette leçon je l'ai pris comme une proposition d'un try: ( du style si = try et alors = else) .mais d'apres mon code c'est pas ça . du coup je ne vois pas trop quel interet a mettre un else sauf pour les string?? merci de ta réponse
Bonjour, peux-tu montrer ton code (via pastebin) pour voir où est ton erreur ? +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Bonjours , j'aimerais faire une gestion d'erreurs sous formes d'assertions, seulement je n'arrive pas a aire plusieurs assertions , j'ai vu que l'on pouvis le faire or d'un try dans une fonction, et j'ai voulu faire de même dans mon try de la manière suivante: from os import * liste_extention = ["txt", "json", "csv", "py"] liste_repertoire = listdir(getcwd()) def try_input_file(file_name=input("Saissisez un nom de fichier:")): try : str(file_name) assert ('.' in file_name==True), 'Le nom du fichier doit contenir un point.' assert (file_name in liste_repertoire == True), "Le fichier doit être présent dans le dossier courant." assert ((file_name[-2:]=="py") or (file_name[-3:]==("txt" or "csv"()) or (file_name[-4:]=="json")), "Le nom de l'extention doit être l'une des suivantes:",liste_repertoire,"." except AssertionError: print("Le nom du fichier n'est pas valide, l'érreur est la suivante: ") try_input_file() Seulement , je cela ne marche pas , le message a droite de l'assertion ne s'affiche pas, et je n'ai aucune idée de comment combiner plusieurs assertions :/ merci de votre aide ! :).
Bonjour, merci pour tes cours, peut-être que je vais le découvrir plus tard, mais si je fais une division par π, il peut pas me faire un int ( je m'attendais à un 3), cela me sort une valueerror, sais-tu pourquoi ?
nombre1=150 nombre2= input("choisis un nombre: ") try: nombre2= int(nombre2) print("Résultat= {}".format(nombre1/nombre2))@@formation-video et derrière j'ai repris tes except, en valeur input j'ai mis le π, mais je vois que c'est pareil avec un chiffre non entier. Comment je peux mettre un except qui dit que ceci n'est pas un nombre entier ? je pensais que le int permettait d'arrondir.
Presque comme tu avais fait. Ici un exemple qui demandera la saisie tant que l'utilisateur n'a pas entré un nombre entier correct : pastebin.com/TzbziLTZ
Salut, merci pour tes vidéo c'est super agréable a regarder et très claire ! une question me viens en cours de cette vidéo. Pourquoi ne pas utiliser une condition : if age > 25 plutot que d'utiliser toutes ces fonctions ? si la réponses est dans la suite des vidéo, pas la peine d'y répondre ^^ Merci encore
Un "if" est juste une manière d'effectuer un contrôle sur une donnée. Tandis qu'un bloc try/except "sécurise" un code sensible susceptible de lever une exception (ce qui par défaut stoppe le programme et ne fait rien d'autre), pour pouvoir gérer les erreurs et effectuer quelques traitements nécessaires avant l'interruption du programme
Bonjour. Je ne vois pas l'utilité de la gestion des erreurs. N'est il pas possible de passer directement par des conditions (et pourquoi pas même des boucles pour résoudre ces erreurs) Avant de faire le calcul de la division on demande à Python de voir si l'utilisateur a choisi 0, si c'est le cas on lui affiche un texte et on lui demande de choisir un autre nombre
Bonjour, Ta question est très intéressante et pleine de sens. Dans les langages plus anciens que Python, il n'y avait pas de systèmes d'exceptions (exemple : le langage C). Donc, le moyen employé pour contrôler les traitements et gérer les erreurs sont des tests cumulés et des retours de fonction. C'est une solution, mais pas la plus pratique, et que le développeur risque d'oublier lors du développement, entraînant des bugs. Dans des langages plus modernes, les exceptions facilitent les choses. En résumé : on part du principe qu'un programme informatique peut présenter des erreurs par défaut (exemple : division par zéro, traitement d'une donnée incompatible, fichier qui ne veut pas s'ouvrir, problème de droits, lecture en dehors d'une Liste, etc.). De là, si une erreur spécifique se déclenche lors du programme, elle lève une Exception. Elle est alors facilement identifiable et le développeur peut la traiter dans son code (indiquer quoi faire si ce scénario se produit). Mieux encore, comme Python est objet et permet de manipuler des classes (et l'héritage), il est possible de créer sa propre classe d'Exception, pour une donnée bien particulière, pour des structures et entités conçues par le développeur. Cela permet d'unifier chaque chose et apporte une logique à la conception d'un programme. Je termine avec ton exemple : oui, on peut vérifier la saisie de l'utilisateur, si le nombre entré est 0, sinon on ré-itère la demande. Mais si on fait simplement la lecture d'un fichier ? Comment pourrais-tu traiter les centaines/milliers de cas qui pourraient causer une erreur à l'exécution ? Impossible. Pour cela, les exceptions encadrent plus simplement des scénarios d'erreurs, et permettent de les gérer. Voilà, en espérant que ça aura été assez explicite pour t'aider à en voir leur utilité 🙂 ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ 💙 Si ce n'est pas encore fait, n'hésite pas à t'abonner à la chaîne ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8
De rien :) ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ 💙 Si ce n'est pas encore fait, n'hésite pas à t'abonner à la chaîne ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8
Juste une petite remarque - naturellement je ne m'attends pas à ce que tu répondes ....vu l'année de cette video ... cela concerne "l'ordre des exceptions importe peu" - j'ai un doute car comme tu l'as indiqué il est possible de créer ses propres exceptions ... Donc si je crée ma propre exception dérivant d'une classe exception (exemple NameError ) si je place l'exception NameError avant mon exception - est-ce qu'on aura les instructions du "except NameError" ou les instruction du "except MonError".... J'ai toujours été habitué dans les autres langages à placer les exceptions les plus spécifiques en premier.....
Je réponds à tous les commentaires 😉 Et oui, si on veut gérer des cas particuliers, on mettra d'abord les types d'exception que l'on veut prioriser. Tout dépend des cas d'utilisation, de l'usage (ou non) d'un bloc "finally", voire l'usage ou non de gestionnaires de contexte, etc.
Le "else" est la partie exécutée si on ne rentre pas dans le "except" et la partie "finally" est exécutée que l'on ait été dans le bloc "except" ou "else". ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Bonjour, je n'ai pas bien saisi les possibilitée derrière except, a par print, que puis-je faire. Comment lui faire return False ou quelque chose comme cela?
Bonjour, quand une exception est déclenchée, le programme va se stopper, et tu peux à ce moment effectuer quelques traitement (comme afficher l'erreur) ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Comment gérez-vous les exceptions dans une fonction, lorsque cette dernière attend un float et que l'utilisateur entre un str. Python considère que le str est une variable non définie et bypass le block exception située dans la fonction...
Alors une exception va surtout servir à gérer une erreur entraînée par une action de l'utilisateur. Dans le cas de l'appel d'une fonction, c'est le développeur qui le fait dans son code (pas un utilisateur). Donc, en tant que programmeur, s'il y a eu une saisie, tu dois gérer l'erreur AVANT d'appeler ta fonction, pour t'assurer que tu lui enverras bien en paramètre le "float" attendu et pas autre chose ;)
Bonjour Jason, Tout d'abord, bravo et merci pour ces vidéos. J'ai découvert ta chaîne récemment et je m'y suis abonné direct ! J'ai un petit souci avec le commencement de celle-ci. Il me semble que je tape la même chose que toi et pourtant, si j'entre un nombre, tout va bien, si j'entre autre chose, je n'ai pas le même affichage sur le terminal : Voici le code : *************************************** age = input("Quel age as-tu ? ") try: age = int(age) print("tu as" , age, "ans") except: print("Ton age n'est pas valide !") *************************************** Et l'affichage en cas d'erreur : *************************************** Traceback (most recent call last): File "main.py", line 73, in age = input("Quel age as-tu ? ") File "", line 1, in NameError: name 'er' is not defined *************************************** Peux-tu me dire ce qui ne va pas ? Bien cordialement Patrick ! P.S. J'ai le même résultat avec un "else".
Attention à l'écriture du code, notamment sur les tabulations. Ici le code qui fonctionne : pastebin.com/nLE9CsBT +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
@@formation-video Oui seulement pour exception comme les erreurs par exemple, mais d'autres exceptions je ne peux pas les capturer avec else ? Fin plutôt les éviter
Non, le but d'une exception, c'est quelle ne soit pas évitée. Elle est là pour signaler une erreur, qui doit alors être gérée par le développeur. Une exception déclenchée doit donc stopper le programme, c'est comme une sécurité (ex : tu essaies d'ouvrir un fichier audio pour le lire sur ton lecteur - si le fichier n'existe pas ou est mal encodé, il ne faut absolument pas poursuivre l'exécution du programme, par contre il faut traiter l'exception pour informer l'utilisateur de "pourquoi" son fichier n'a pas pu être lu / pourquoi le programme a planté, etc.)
Bonjour est il possible d'associer une boucle avec la gestion d'erreur ? C'est as dire recommencer tant que l'on a pas executé le try ? j'ai beau essyer je n'y arrive pas ... Merci
Bonjour, oui tu le peux, par exemple de cette manière : pastebin.com/Dk86npDE ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ 💙 Si ce n'est pas encore fait, n'hésite pas à t'abonner à la chaîne ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8
j'ai un problême, après avoir tapé exactement la même chose à 7:30, mon terminal n'a pas envie de prendre en compte le except et m'affiche une erreur comme si je ne l'avis pas mis. Une âme charitable serait m'aider ?
Oui, j'ai verfiier plusieurs fois et c'est la même chose au charactère près mais rien n'y fais Sachant que même en précisant le type d'erreur (NameError, etc..) et en vérifiiant la version que j'utilise (je l'ai ai toutes faites) je n'y arrive toujours pas De plus le : except ZeroDivisionError: marche alors qu'avec NameError(parce que mon terminal me dit que c'est pas une ValueError maiis une NameError)
OK, le code est correct, donc je suspecte que l'erreur vient de l'indentation de ton code. Pense à bien faire des tabulations dans les blocs (try, except, etc.) ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ 🔵 Rejoindre FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8
Très bonne vidéo néanmoins, j'ai une petite question concernant la partie parlant de "raise". Pourquoi, à la place de mettre raise, pourrions-nous pas mettre un print("attention on ne peut pas diviser par zero") et ainsi ne pas devoir mettre un try: .... except ni le raise ? Dans l'exemple que vous donnez sur un inventaire qui serait complet, pourquoi ne pas mettre print("Attention inventaire full") si nous rentrons dans une condition à la place de créer une nouvelle exception ?
Parce que c'est le principe des exceptions (qui peut survenir à l'exécution du programme ou que nous pouvons manuellement déclencher). Cela permet une erreur gestion de son programme, et permettre de traiter certaines choses même en cas d'erreur. Prenons un exemple critique : tu es sur un jeu vidéo en ligne, là le serveur plante, cela va normalement (si c'est bien conçu) déclencher une Exception, qui va permettre d'aller sauvegarder les données avant de couper le jeu, ce qui éviter la perte de la progression. ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Oula, tu mélanges du C et du Python là. Avec la méthode format(), cela donnerait : pastebin.com/G4yjyyY4 Tu as également d'autres manières de formater du texte en Python : ruclips.net/video/4ApZ80RegNI/видео.html
Bonjour, Dans ce code, les exceptions ne sont pas prises en compte. 1. Si je lance le code directement en mettant la lettre m (Cf. dernière ligne ci-dessous), j'ai le message d'erreur suivant: Traceback (most recent call last): File "C:\Users\pytho\OneDrive\Bureau\Python\Tests\secondaire1.py", line 19, in SaisieAge(m) NameError: name 'm' is not defined 2. Quand j'appelle la fonction SaisieAge dans un autre fichier en entrant la lettre m j'ai le même message d'erreur. Avec un chiffre strictement positif ça marche sans problème. En saisissant les chiffres -3 et 0 j'ai bien le message "Oups....il y a un bug!". Pourtant le chiffre 0 devrait lever une AssertionError et donc le message lié... Merci d'avance pour votre réponse et le temps passé :) . Bien cordialement #coding:utf-8 def SaisieAge (age): try: age=int(age) assert age>0 except AssertionError: print ("L'âge saisi doit être un nombre strictement positif") except NameError: print("Il faut saisir un chiffre") except: print("Oups...il y a un bug!") else: print("Tu as {} ans.Bravo!".format (age)) finally: print("Fin du programme...")
C'est bien normal, tu as oublié les guillemets autour dur "m". Tel que tu l'as fait dans ton code, le programme s'attend à trouver une variable nommée "m", qui n'existe évidemment pas, d'où l'erreur Name 'm' is not defined 😉 ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ 💙 Si ce n'est pas encore fait, n'hésite pas à t'abonner à la chaîne ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8
je ne comprend pas trop lutiliter de try et except vu qu'on a if et else. on a qua juste mettre if age > 100: print("tu as du vecu") else: print("tu es encore jeune") print("fin du programme") et voila dans tout les cas la fonction sera afficher pas besoin detre precis sur les exception?
Non ce n'est pas comme cela que fonctionnent les exceptions. En fait lors de l'exécution de ton programme, des erreurs peuvent être déclenchées. Et par cela, avoir un bloc "except" permet de les capturer et de les traiter. Aussi, une exception qui se produit va mettre fin à l'exécution du programme. ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Pour le code à 7:34~ ça n'a pas marché : Le code : #coding:utf-8 ageUser = input("T'a quel âge ? : ") try: ageUser = int(ageUser) except: print("L'age indiqué est incorrect") else: print("Tu as", ageUser, "ans") Résultat : File "test.py", line 3 SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xe2 in position 9: invalid continuation byte Je suis sous python 3.8...
Définir une assertion, c'est considérer qu'une expression doit être vraie (et vérifiée), par exemple : que l'on ne divise pas par 0. Si elle n'est pas validée, une AssertionError sera déclenchée
Salut ! Comment on fait pour mettre plusieurs conditions dans try sachant qu'il est nécessaire d'en vérifier une seule et non pas toutes (or). Merci d'avance !
Bonjour, tu peux faire plusieurs conditions comme tu le ferais en dehors d'un try, c'est la même syntaxe 😉 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Question de préférence, notamment PowerShell qui en plus de permettre d'utilisation la syntaxe qu'on retrouve sur l'invite de commandes MS-DOS est également compatible avec une syntaxe similaire aux terminaux UNIX (ex : lister le contenu d'un répertoire en faisant "dir" en MS-DOS, ou "ls"). +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Bonjour, quel moment de la vidéo exactement ? Si tu parles de capturer une AssertionError, non, le fait de saisir un entier ne va pas déclencher ce type d'erreur, car la fonction int() va plutôt lever une ValueError.
j'ai une question par exemple on a envoyer l'except à l'utilisateur donc on doit mettre une boucle pour qu'il puisse entrer ce qui est correcte comment le faire??
Si une exception est déclenchée, le programme va s'arrêter. ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Même en 2020 tes cours sur le python sont utilisé haha ! Merci à toi, tu explique très bien !
De rien, bon codage 👍
@@formation-video Merci bien ! :)
I realize Im pretty off topic but do anyone know a good place to stream newly released series online ?
même en 2022
@@titeric1299 Et dire que encore cette année je regarde ces vidéos explicatives ! La preuve que c'est du bon contenu !
Merci pour toutes ces vidéos d’une clarté extra. La pédagogie utilisée est tout juste formidable. Un Grand Merci 👍
Merci pour ton commentaire 🙏
Merci pour toutes ces vidéos d’une clarté extra)ordinaire. La pédagogie utilisée est tout juste formidable. Un Grand Merci
J'ai commencé ta formation il y a 2 jours, je prend beaucoup plaisir à suivre tes cours et apprend beaucoup de chose ! Je dévore les épisodes un à un. Merci pour le partage de tes connaissances !
Je t'en prie, bon courage sur la suite du cours 👍
Bon tuto!!
Raccourci: placer le curseur sur la deuxième variable ageUtilisateur ensuite Ctrl+Alt+T vous donne plusieurs choix: if, while, try/except, try/catch...
Oui on peut faire ça, même si personnellement je préfère écrire mon code moi-même plutôt que de le générer par un logiciel
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Merci pour tes vidéos de formation , tu es un excellent enseignant =) . Deux mois que je te suis sur différentes formations un régale d'apprendre autant de chose aussi facilement.
Bonne continuation alors 🙂
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Bonjour, je suis actuellement en 2nd et l'année prochaine je compte prendre NSI (numérique science informatique) en spécialité. J'ai décidé de m'avancer un peu pour arriver l'année prochaine avec une certaine avance. Je tenais vraiment à te remercier car je comprend tout. Les cours sont simples à comprendre et ultra bien expliqués même pour quelqu'un comme moi qui n'a que 16 ans et qui n'a absolument aucune notion en informatique. Merci beaucoup!!!!!!
Bonjour, j'espère que cela t'aidera grandement pour tes études, bon courage 😉
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
9 eme vidéo visionnée et toujours envie d'avancer, merci pour cette formation python très intéressante !
Allez, la suite 😉
@@formation-video Oui ! À la 10 !!
aujourd'hui c'est le 02/04/2023 a 17H:04mn ici depuis le SENEGAL,un grand merci bro
👋
J'adore beaucoup tes vidéos et ta manière de faire passer le message! Chapeau à toi
Merci Roger 👍
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Excellent professeur! Merci!
De rien, à très bientôt 👋
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Merci à toi de prendre sur ton temps pour partager tes connaissances.
C'est bien normal, et merci de commenter et suivre ce que je fais :)
T'es un véritable ange ! Merci pour ton existance ! je me de plus en plus capable d'apprendre grâce à tes formations !
Super à lire, bon courage pour la suite te concernant 🙂
Encore merci à toi vidéo de très bonne qualité le son est super
Merci beaucoup.
Dis-moi, as-tu répondu au premier sondage de la chaîne ? Si non, n'hésite pas à le faire ici -> goo.gl/forms/FpmsMVeWXpqexT5L2
Je me joins à la foule pour te remercier pour ces vidéos. Elles sont claires et limpides!!!
Merci pour le retour 🙏
Franchement, vous avez du talent à transmettre l'info 👍, c'est juste exceptionnel ! Je ne sais pas si vous vous rappelez de moi, mais je t'avais posé une question dans l'épisode 1 de la série, maintenant j'entame le 9e et je me lasse pas, et je suis toujours convaincu par votre cours.
Content de voir que tu t'en sors bien, et surtout, que tu prends ton temps. Généralement, je vois les gens aller beaucoup trop vite et se mettre en difficulté à cause de cela. Bonne continuation 👍
@@formation-video Ah oui j'avoue qu'à partir de l'épisode 11, les choses se compliquent mais je suis toujours confiant !!
Avance à ton rythme, écris des petits programmes pour t'entraîner et comprendre tout ce que tu apprends, et ça rendra les choses bien plus simples à assimiler
Tes cours sont très compréhensible bravo. Tu n'inclus pas d'exercice, moi par exemple je crée deux fichiers (module.py, ton cours et module_exo.py) . Malheureusement je n'ai pas ton niveau de maîtrise et les exos que je me fais ne sont peut-être pas très pédagogiques. Il serait sympa que tu présentes des exercices en rapport avec les chapitres afin d'une meilleur compréhension pour être complet. Tu aurais sans doute plus de don . A bientôt.
Bonjour, il y a bel et bien des playlists d'exercices qui sont et seront complétées petit à petit. Chaque exercice suit la progression des notions et la difficulté de l'avancée des cours.
Voilà pour Python : ruclips.net/p/PLrSOXFDHBtfEiSgOG1FM4oq-yS24iV4s1
Et de manière générale, les playlists actuelles de la chaîne : ruclips.net/channel/UCS2e0hEJMhwd6bNscS60xTgplaylists
Les exercices s'arrêtent jusqu'a la vidéo sur les boucles. Est ce qu'il y a d'aures exercices pour les videos suivantes ?
Merci infiniment pour vos cours complets et bien expliquer.Soutient à vous.#beginner
Merci de ton message, bonne continuation sur la formation Python ;)
Merci Monsieur vous êtes un champion !
Merci
waw c'est génie cette video
Merci j'aime
Tant mieux :) !
Excellent cours, très pédagogue bravo et merci
Merci du retour, bonne journée 😉
je suis tes vidéos et je comprends mieux le fonctionnement de ce superbe langage. Il me parait plus abordable que PHP
Bon courage sur les prochaines vidéos dans ce cas 💪
Bonjour ! J'ai une petite question au sujet du finally.
Il a pour but d'afficher ce que l'on veut dans tous les cas, qu'il y ai une erreur ou non.
Du coup pourquoi pas juste faire un print après l'opération, sans tabulation ?
C'est juste une question de propreté dans le code, ou il y a des cas où le finally sera indispensable dans des programmes plus complexes ?
Merci beaucoup pour ces cours et le temps que tu y passes !
Parce que si une exception est déclenchée (except) avant que le programme ne quitte, ce qui suit ne sera jamais exécuté. Ainsi, le bloc finally garantit l'exécution de traitements avant que le programme ne quitte 👍
C'est le cours le plus chiant de la série mais c'est utile!
Ah, pas le plus drôle la gestion des erreurs, mais tellement indispensable pour avoir un code propre 😉
un grand merci pour vous c'est super
Merci à toi ;)
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Génial 🌹❤❤❤👍 merci Jason !
De rien et bonne journée =)
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Bien expliqué. Merci pour ton travail
De rien =)
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Merci pour tes vidéos, elles sont très bonnes.
De rien 👋
Merci pour cette belle formation
De rien, à bientôt 😉
23:34 Parlant d'utilité, assert age>=0 , c'est un bon exemple d'utilité. Ou encore:
if age
En effet, pour éviter des scénarios impossibles (ici, avoir moins de 0 ans)
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
🔵 Rejoindre FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
Bonjour. Encore merci pour tes tuto. J’aimerais savoir comment je peux m’entraîner sur ce que j’ai appris.
Bonjour : en faisant des programmes personnels. Je propose aussi une playlist d'exercices : ruclips.net/p/PLrSOXFDHBtfEiSgOG1FM4oq-yS24iV4s1
on est en 2023 et tes cours m'ont été très utile. Merci tu explique bien les choses
Bonne continuation 👋
Merci pour vos vidéos
Je t'en prie 😉
je voulais aussi savoir:
on peut faire pour le programme de 29:42
if age < 25:
raise AssertionError
except AssertionError:
print("j'ai attrapé l'exception")
a la place de:
assert age > 25
except AssertionError:
print("j'ai attrapé l'exception")
Cela revient au même si j'ai bien compris.
Oui, la seule différence vient du fait que dans le premier cas, c'est nous qui levons l'exception si notre condition n'est pas satisfaite. Pour le second code, elle est levée d'elle-même via le "assert".
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Merci c'est parfait
De rien, et bonne continuation =)
Bonjour.
Merci pour la qualité de cours que tu présentes, j'ai une question concernant la fusion entre l'exceptions et la boucle while (ex: je demande a l'utilisateur de me donner un chiffre entre 1 et 31 sauf que c'est possible qu'il me donne une chaine de caractère et la je dois reboucler pour lui demander de me donnez un chiffre comment faire?
Merci d'avance!!
Bonjour, tu as plusieurs possibilités, notamment de tester si ta chaîne saisie (avec le input) est constituée de nombres, par exemple : pastebin.com/a8nYJfBX
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
On peu factorisé le code de 10:41 avec ligne 8 + ligne 10 qui donnerais "nombre2 = int(input("Choisir le nombre pour diviser : ")) " ? ( dans le cas, ou on cherche a gagné en performance) Désolé, sa fait 2 semaines, que je bosse python, du coup, je sait pas trop si sa peu être une bonne pratique de factorisé ce bout de code en ma solution.
On peut le faire oui, mais cela ne fait absolument pas gagner en performance.
Mais ce n'est ni bien ni mal de le faire, c'est une question de préférence, et de lisibilité de code pour toi 👍
Encore une vidéo très simple et bien expliquée! Merci beaucoup! J'avance bien dans la programmation grâce à vos cours! ;)
Bonsoir, et merci à toi =) !
Pas de soucis! ;) J'attends avec hâte l'épisode 12 :p
Il arrivera bien assez vite =)
Hey, j'aimerais être développeur plus tard, selon toi quels langages je devrait connaître ? J'entend par là les indispensables, rien ne m’empêcherait d'en apprendre d'autres :P
Bonsoir :).
Le standard en informatique, qui est LE langage disponible sur tous les appareils, est le langage C. Ensuite, le Python est à savoir aussi car utilisable dans tous les domaines, et très portable.
FormationVidéo Merci bien, en plus il est dispo en formation sur ta chaîne, parfait :P
Oui :)
Bonjour, super cours.
j'ai une question concernant le Raise et le AssertionError :
le Raise si j'ai bien compris sera utile lorsque nous créerons nos propres erreurs concernant les projet. je reprend en exemple ton inventaire du sac du joueur. supposant que le joueur ne peut avoir que 25 emplacements dans son sac, j'ai bien compris qu'on pouvais créer une Class InventoryError (par exemple) et l'appeler avec le Raise mais on peut également le faire avec le AssertionError directement et éviter de créer une Class Error juste pour ça . Donc ma question est dans Quel cas il est conseillé d'utiliser le Assert et dans quel cas le Raise.
Et encore merci pour ton cours, tu est très pédagogue.
Bonjour, ta question est intéressante, car l'utilisation de l'un ou l'autre dépend du développement. Il n'y a pas forcément de bonne méthode, mais sur un gros projet, on préfèrera par exemple avoir sa propre classe de gestion d'erreurs, plutôt que de le faire un peu partout dans le code.
Donc à toi de voir en fonction du programme que tu conçois et ce qui te semble le plus logique à implémenter.
D'accord merci beaucoup pour ta réponse. T'es un super prof :D
De rien, passe une bonne journée :) !
Super vidéo merci beaucoup. J'ai juste un question, les assert on va les utiliser pour faire plusieurs test sur par exemple l'une de nos fonctions et si aucune exception n'est levée c'est que tout s'est passé comme on l'avait prévu, c'est bien à ça que ça sert ou est-ce moi qui n'ait pas bien compris son utilité ?
Oui en grande partie. Après, il n'y a jamais de garantie à 100% que le code soit correct mais cela permet de faire ce qu'on appelle des tests unitaires : ruclips.net/video/apgReCCAQr4/видео.html
merci je ne vais la reponse que trop tard. super video sinon
Pas grave, bonne continuation :) !
Super vos explications
🙏
Bonjour Jason,
Merci pour cette vidéo très claire! J'ai une petite question: quelle est la différence entre un mettre un: if + raise+except et mettre un assert + AssertionError?.J'ai bien noté qu'il y en a un qui est écrit dans le try et l'autre non. Y a t'il un moment ou il est nécessaire d'utiliser plus l'un que l'autre? Merci d'avance. Bien cordialement
Bonjour, dans le premier cas c'est le développeur qui choisit de lever une exception (avec le "raise"), dans l'autre, on fait un test d'assertion, qui si elle n'est pas validée, lèvera d'elle-même une AssertionError (à traiter)
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
merci pour les cours.
Je pense que l'assertion peut etre utiliser comme un if en utilisant aussi le else après l'exception.
De rien ;)
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8/
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Encore une vidéo très intéressante Merci. Juste une petite question Jason : l'avantage d'appliquer un pour lever une exception. On pourrait pas appliquer un if tout simplement ?
Mais peut-être que dans l'avancement de la formation je comprendrai réellement pourquoi l'intérêt du .
L'assertion pour pouvoir lever une exception, et la traiter éventuellement 👍
Une petite question, est ce qu'on peut utiliser format dans la fonction input ?
Oui, tu peux le faire, teste et tu verras que ça marche comme dans un print().
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Merciiiii merciiiiiiii, j’ai trop bien compris!!!!
Bon à savoir ✌
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
💙 Si ce n'est pas encore fait, n'hésite pas à t'abonner à la chaîne
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
Mais au lieu de faire une assertion, on peut mettre un "IF", ça fait la même chose non ?
Non, une structure conditionnelle permet de faire des tests d'expression et partager les traitements selon le résultat du/des test(s) obtenu. L'assertion, en fonction du résultat, peut déclencher une AssertionError, une erreur (que l'on peut éventuellement traiter) et qui va stopper l'exécution du programme.
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Merci pour le cours. Pour l'instant je vois pas l'intérêt d'utiliser les raise et assert ? On pourrait se contenter d'utiliser des if non ? Est-ce que c'est utile que plus tard ?
L'intérêt est de pouvoir stopper l'exécution du code quand une exception se déclenche (à minima), et que le développeur puisse traiter cette erreur en fonction (dans l'idéal). Exemple : l'ouverture d'un fichier peut lever une exception (si ce dernier n'existe pas par exemple). Si on ne traite pas l'exception, le programme s'arrêtera. Sinon, on peut gérer l'erreur et indiquer à l'utilisateur un message avertissant que le fichier à lire n'a pas été trouvé.
Quant à assert, c'est très utilisé pour les tests unitaires, afin de vérifier son code et éviter/corriger de potentiels bogues : ruclips.net/video/apgReCCAQr4/видео.html
@@formation-video d'accord merci de tes réponses rapides 🙂
👋
Bonjour Jason,
Je ne souhaite pas abuser, mais j'ai un souci avec une boucle.
Je souhaite entrer un chiffre (jour),et volontairement j'introduis des " lettres". Je demande donc à ma boucle de revenir au premier "input".
Tout fonctionne avec un chiffre, mais mon - continue - en cas d'erreur ne fonctionne pas.
jour = input(" Quel jour encoder : " )
try :
jour = int(jour)
except ValueError :
int(jour) == False
except TypeError:
int(jour) == False
else:
while jour:
if jour == False:
continue
elif jour != False:
texte = " Le jour {} est accepté."
print(texte.format (jour))
break
else:
print("")
print("\tFin de programme ")
Merci de m'éclairer et peut être également d'autres abonné(e)s ayant le même souci.
Bien à toi. Amicalement.
A première lecture, ton code ne va pas du tout. Déjà, respecte bien les tabulations et retours à la ligne. Ensuite, je vois que tu as des else alors qu'il n'y a pas de "if" avant.
Essaie déjà de corriger au niveau de la syntaxe :)
re Bonjour Jason,
Merci de ta réponse diligente. Je vais à nouveau faire des essais, et à défaut je me priverai dans ce cas de la boucle.
Merci encore.
Bien, à toi .
Bon courage =)
Super vidéo merci
😉
super👍
Merci ;)
petite question : on peut attrapper nos exceptions dans des variables ? ^^
Hello, une exception est un type de *classe* en Python (notion vue plus loin dans la formation), il n'est donc pas utile et possible de l'embarquer dans une variable puisque tu pourras traiter un certain type d'Exception directement dans son bloc sans problème.
Sinon, au pire, de créer sa propre classe d'Exceptions qui hérite de celle de Python (mais ça, tu le verras dans les vidéos plus loin).
Salut , j ai un gros soucis avec le "NameError" ; je suis sur mac et il me semble que j ai la dernière version de python , je suis bien en UTF-8.
si je veux faire un programme très simple par exemple :
pseudo = input("Entre ton pseudo:
")
print(pseudo)
lorsque je l exécute, si je rentre tout simplement:
Tom
ils me mettent:
Traceback (most recent call last):
File "test.py", line 1, in
pseudo = input("Entre ton pseudo:
")
File "", line 1, in
NameError: name 'Tom' is not defined
Par contre si je rentre : "Tom" , pas de problème , il va print mon pseudo comme demandé ET SANS les " "
Par ailleurs le programme marche aussi si je mets 'Tom' la tout fonctionne!
Ensuite deuxième soucis, étroitement lié au premier:
Quand je fais la même chose que toi vers 14:00 ;
nombre1= 150
nombre2= input("choisi")
try:
nombre2 = int(nombre2)
print("resultat = {}".format(nombre1 / nombre2))
except ZeroDivisionError :
print("probeme du 0")
except NameError:
print("probleme NameError")
except ValueError:
print("probleme value")
Eh bien le programme fonctionne très bien pour tous les except SAUF celui du NameError
Ce serait géniale si quelqu un pouvait m aider!
OK, ton code est correct, sauf pour les indentations.
Tu devrais donc avoir ceci : pastebin.com/x8iRmsXU
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8/
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Merci de ta réponse , malheureusement ce n était pas un problème d indentations, youtube avait modifié mon code...
j ai fait un copier coller et ça ne marche toujours pas , je pense qu il y a un problème dans la configuration de python sur mon ordi.... je vais faire des recherches plus poussées , merci de ton aide!
Oui sans doute, car ton code est bon et devrait fonctionner si tu as bien encodé ton fichier en UTF-8 depuis ton éditeur.
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8/
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
FormationVidéo enfaite contrairement a ce que je croyais , je tournais sur python 2.7.11 , j ai donc changé pour la toute nouvelle version et le probleme est résolu, désolé du dérangement, merci bcp
Ah voilà qui est fait :)
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8/
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Bonjour, je voulais savoir s'il était possible d'exécuter qu'une seule partie du code uniquement dans l'invite de commandes? Merci beaucoup :)
Comment ça ?
Petite question pourquoi ne met-on pas : variable = int(input("donner un nombre entier : ")) pour obliger l'utilisateur à rentrer un nombre entier ?
Parce que cela ne l'oblige en rien à le faire. S'il entre une chaîne, cela déclenchera une exception, et le programme stoppera. Le seul moyen de l'y obliger est de passer par une boucle qui redemandera la saisie tant qu'elle n'est pas correcte : pastebin.com/rHnBGYcv
slt Jason, selon toi on devrait écrire d'abord le code et revenir ensuite s'occuper de la gestion d'erreur? ou alors on devrait gérer les erreurs au fur et à mesure qu'on écrit le code? Merci d'avance pour la réponse et pour tout.
Bonjour, tout ce qui est sécurité du code n'est pas à part et doit donc être fait durant la conception-même 👍
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Bonsoir/Bonjour Jason merci beaucoup ce cours très bien expliqué !!
Je voulais aussi te demander si dans certain cas "assert" peut être utilisé comme un "if" ?
Très bonne continuation !!
Bonsoir, non, on utilise assert comme une instruction, et si l'expression évaluée n'est pas valide, cela déclenchera une AssertionError
Dans la partie Try: on peut mettre qu'une seule variable ou on peut en mettre plusieurs pour gérer le même type de variable ?
Plusieurs, et en fonction de l'exception qui pourra être levée, elle pourra être récupérée avec un "except"
FormationVidéo D'accord, merci
De rien :)
Salut! Je suis sur visualstudio, et je voulais te demander à quoi servait le débuggage et s'il faut quand même faire tout ça pour gérer les erreurs sachant que la plupart du temps, il est indiqué la raison et la localité de l'erreur. Merci pour tes vidéos.
Et bien le débogage permet de déboguer du code, donc aider et faciliter la recherche des bugs, en mettant des points d'arrêt, en voyant l'état des variables, etc.
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
@@formation-video D'accord, et habituellement, comment traite-t-on les erreurs? Comme vous l'avez présenté dans la vidéo ou juste par débogage?
On isole un code qui risque de déclencher des exceptions dans un bloc try/except, et on n'hésite pas à tester son code pour (assert et tests unitaires comme abordé ici en tutoriel : ruclips.net/video/apgReCCAQr4/видео.html )
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Bonjour monsieur ,merci pour cette magnifique formation , s'il vous plaît pouvez-vous m'expliquer pourquoi quand je mets le cast avant le input il ne considère pas la variable comme un int et il affiche le texte que j'ai tapé .
Bonjour, parce que tout ce que lit la fonction input() est retourné sous forme de chaîne de caractère
@@formation-video d'accord merci bien .
De rien ;)
excuse moi j'ai deux questions:
-je ne vois pas l'interet du finally puisque on peut rajouter l'instruction a la fin tout simplement .
-le else aurait il un autre interet a part ne pas mettre les instruction dans le bloc try ?
Alors le *finally* aura un code qui va être exécuté dans tous les cas de figure. A savoir qu'une Exception pourrait très bien stopper ton programme, mais en mettant du code dans le bloc 'finally", il sera exécuté quand même.
Ensuite, le "else" s'utilise dans une condition ("if") donc je ne vois pas trop ce que tu veux me demander :)
Ah, je comprends mieux ta question sur le "else". Il permet de réaliser des instructions si on ne réussit pas le code dans le "try". Donc, si aucune Exception n'est levée, le code du "else" ne sera pas lu, à contrario du "finally" qui lui est TOUJOURS exécuté :)
Super série que je suis entrain de dévorer (actuellement en première année d'école d'ingé) mais je me demandais l'interet d'utiliser assert et non un if ?
Ce sont deux choses différentes : une condition, c'est juste une condition, pour vérifier une expression. Tandis qu'une assertion permet d'effectuer une condition, qui si elle n'est pas vérifiée, interrompt le programme en générant une erreur d'assertion.
Merci pour le cours, très pédagogue sauf que vous improvisez les exemples. Comment gérer les erreurs dans les cas où le nombre choisi est réel ou décimal par exemple?
Comme cela a été montré dans la vidéo. On exécute le code sensible (qui peut générer une exception) dans un bloc "try", et on traite, à minima toutes les exceptions avec un bloc "except", ou mieux, avec un bloc "except" qui spécifie le nom de l'exception précisément déclenchée.
Et pour savoir quel type d'exception peut déclencher un traitement, pas de recette miracle, on regarde dans la documentation. Par exemple, ce code pour faire saisir un entier (qui peut servir à un calcul ultérieur) : pastebin.com/1yJExpVb
Salut svp je voudrais savoir comment redonner la possibilité à l'utilisateur d'entrer à nouveau une valeur si il a fait l'erreur d'entrer une lettre à la place d'un chiffre
Bonsoir, tu peux te servir tout simplement d'une boucle, et dire que tant que ce qui est entré n'est pas un nombre, on redemande la saisie :)
Je suis sur le groupe discord Ayanokoji
merci
Ah oui je t'ai vu arriver, bienvenue parmi nous alors :)
Avez-vous un serveur discord ? Si oui, possible d'avoir un lien ?
Oui, il est présent dans les liens de la chaîne RUclips, mais je te le mets ici : discords.com/servers/jachampagne
Bonjour cher professeur
Je suis bien conscient de l'importance de gestion des erreurs mais le ce cas précisément si on mettait au tout début nombre2=int(input("donne un nombre ")) ???!
Merci d'avance
Bonjour, et bien cela revient au même que de le faire en deux étapes. Par contre, int() peut déclencher une exception, donc il faut toujours veiller à le faire dans un bloc try/except 👍
Bonjour, j'aimerais savoir si il est possible de créer une fonction pour tester si il y a une erreur et éviter de devoir tout réécrire à chaque fois? Je sais pas trop si je suis bien clair.
Bonjour, oui, on fait justement des tests unitaires : ruclips.net/video/apgReCCAQr4/видео.html
Merci pour la clarté de la vidéo. Mais comment gérer plusieurs assertions dans le même programme?
Et bien tu les testes les unes à la suite des autres : pastebin.com/QC2GWnb4
J'ai une question : comment on fait pour faire des calculs avec des inconnues(x,y). Merci
Tout dépend de l'équation en question, mais tu peux le résoudre à l'aide de boucles, ou implément certains algorithmes de calcul. De plus, Python possède pas mal de modules prévus pour ça (comme numpy).
salut :)
j'ai du mal avec else dans cette leçon : tu dis dans le premier programme avec ageUtilisateur qu'il vaut mieux mettre le print("tu as ", ageUtilisateur, "ans") dans le else .
dans le second programme parlant du diviseur , j'ai mis print("resultat de {} / {} = "format(nombre1, nombre2, nombre1 / nombre2)) dans le else ; j'obtiens une ZeroDivisionError alors qu'au dessus du else j'avais fait une exception contre la division par zero.
else: c'est autre ; dans cette leçon je l'ai pris comme une proposition d'un try: ( du style si = try et alors = else) .mais d'apres mon code c'est pas ça .
du coup je ne vois pas trop quel interet a mettre un else sauf pour les string??
merci de ta réponse
Bonjour, peux-tu montrer ton code (via pastebin) pour voir où est ton erreur ?
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Bonjour pourquoi avoir fais le cast int de ageUtilisateur dans le try et pas avant ?
Bonjour, car c'est l'appel à int() qui peut déclencher une exception, donc c'est ce qui est placé dans le "try"
Bonjours , j'aimerais faire une gestion d'erreurs sous formes d'assertions, seulement je n'arrive pas a aire plusieurs assertions , j'ai vu que l'on pouvis le faire or d'un try dans une fonction, et j'ai voulu faire de même dans mon try de la manière suivante:
from os import *
liste_extention = ["txt", "json", "csv", "py"]
liste_repertoire = listdir(getcwd())
def try_input_file(file_name=input("Saissisez un nom de fichier:")):
try :
str(file_name)
assert ('.' in file_name==True), 'Le nom du fichier doit contenir un point.'
assert (file_name in liste_repertoire == True), "Le fichier doit être présent dans le dossier courant."
assert ((file_name[-2:]=="py") or (file_name[-3:]==("txt" or "csv"()) or (file_name[-4:]=="json")), "Le nom de l'extention doit être l'une des suivantes:",liste_repertoire,"."
except AssertionError:
print("Le nom du fichier n'est pas valide, l'érreur est la suivante:
")
try_input_file()
Seulement , je cela ne marche pas , le message a droite de l'assertion ne s'affiche pas, et je n'ai aucune idée de comment combiner plusieurs assertions :/ merci de votre aide ! :).
même problème que toi or ou and ne fonctionne pas dans assert apparemment
Bonjour, merci pour tes cours, peut-être que je vais le découvrir plus tard, mais si je fais une division par π, il peut pas me faire un int ( je m'attendais à un 3), cela me sort une valueerror, sais-tu pourquoi ?
Bonjour, quel est ton code ?
nombre1=150
nombre2= input("choisis un nombre: ")
try:
nombre2= int(nombre2)
print("Résultat= {}".format(nombre1/nombre2))@@formation-video
et derrière j'ai repris tes except, en valeur input j'ai mis le π, mais je vois que c'est pareil avec un chiffre non entier. Comment je peux mettre un except qui dit que ceci n'est pas un nombre entier ? je pensais que le int permettait d'arrondir.
Presque comme tu avais fait. Ici un exemple qui demandera la saisie tant que l'utilisateur n'a pas entré un nombre entier correct : pastebin.com/TzbziLTZ
Salut, merci pour tes vidéo c'est super agréable a regarder et très claire ! une question me viens en cours de cette vidéo. Pourquoi ne pas utiliser une condition : if age > 25 plutot que d'utiliser toutes ces fonctions ? si la réponses est dans la suite des vidéo, pas la peine d'y répondre ^^ Merci encore
Bonjour, quel moment de la vidéo exactement ?
@@formation-video je pensais plutôt dans l'ensemble. Quel est l'intérêt d'un "try" plutôt qu un "if"?
Un "if" est juste une manière d'effectuer un contrôle sur une donnée. Tandis qu'un bloc try/except "sécurise" un code sensible susceptible de lever une exception (ce qui par défaut stoppe le programme et ne fait rien d'autre), pour pouvoir gérer les erreurs et effectuer quelques traitements nécessaires avant l'interruption du programme
Bonjour.
Je ne vois pas l'utilité de la gestion des erreurs.
N'est il pas possible de passer directement par des conditions (et pourquoi pas même des boucles pour résoudre ces erreurs)
Avant de faire le calcul de la division on demande à Python de voir si l'utilisateur a choisi 0, si c'est le cas on lui affiche un texte et on lui demande de choisir un autre nombre
Bonjour,
Ta question est très intéressante et pleine de sens. Dans les langages plus anciens que Python, il n'y avait pas de systèmes d'exceptions (exemple : le langage C). Donc, le moyen employé pour contrôler les traitements et gérer les erreurs sont des tests cumulés et des retours de fonction. C'est une solution, mais pas la plus pratique, et que le développeur risque d'oublier lors du développement, entraînant des bugs.
Dans des langages plus modernes, les exceptions facilitent les choses. En résumé : on part du principe qu'un programme informatique peut présenter des erreurs par défaut (exemple : division par zéro, traitement d'une donnée incompatible, fichier qui ne veut pas s'ouvrir, problème de droits, lecture en dehors d'une Liste, etc.). De là, si une erreur spécifique se déclenche lors du programme, elle lève une Exception. Elle est alors facilement identifiable et le développeur peut la traiter dans son code (indiquer quoi faire si ce scénario se produit). Mieux encore, comme Python est objet et permet de manipuler des classes (et l'héritage), il est possible de créer sa propre classe d'Exception, pour une donnée bien particulière, pour des structures et entités conçues par le développeur.
Cela permet d'unifier chaque chose et apporte une logique à la conception d'un programme. Je termine avec ton exemple : oui, on peut vérifier la saisie de l'utilisateur, si le nombre entré est 0, sinon on ré-itère la demande. Mais si on fait simplement la lecture d'un fichier ? Comment pourrais-tu traiter les centaines/milliers de cas qui pourraient causer une erreur à l'exécution ? Impossible. Pour cela, les exceptions encadrent plus simplement des scénarios d'erreurs, et permettent de les gérer.
Voilà, en espérant que ça aura été assez explicite pour t'aider à en voir leur utilité 🙂
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
💙 Si ce n'est pas encore fait, n'hésite pas à t'abonner à la chaîne
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
@@formation-video bonjour,
Merci pour ta réponse et pour le travail que tu fais en général
De rien :)
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
💙 Si ce n'est pas encore fait, n'hésite pas à t'abonner à la chaîne
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
Juste une petite remarque - naturellement je ne m'attends pas à ce que tu répondes ....vu l'année de cette video ... cela concerne "l'ordre des exceptions importe peu" - j'ai un doute car comme tu l'as indiqué il est possible de créer ses propres exceptions ... Donc si je crée ma propre exception dérivant d'une classe exception (exemple NameError ) si je place l'exception NameError avant mon exception - est-ce qu'on aura les instructions du "except NameError" ou les instruction du "except MonError"....
J'ai toujours été habitué dans les autres langages à placer les exceptions les plus spécifiques en premier.....
Je réponds à tous les commentaires 😉
Et oui, si on veut gérer des cas particuliers, on mettra d'abord les types d'exception que l'on veut prioriser. Tout dépend des cas d'utilisation, de l'usage (ou non) d'un bloc "finally", voire l'usage ou non de gestionnaires de contexte, etc.
A la min 16:49 c’est quoi la difference entre else et finally ?
Le "else" est la partie exécutée si on ne rentre pas dans le "except" et la partie "finally" est exécutée que l'on ait été dans le bloc "except" ou "else".
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Bonjour, je n'ai pas bien saisi les possibilitée derrière except, a par print, que puis-je faire. Comment lui faire return False ou quelque chose comme cela?
Bonjour, quand une exception est déclenchée, le programme va se stopper, et tu peux à ce moment effectuer quelques traitement (comme afficher l'erreur)
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Comment gérez-vous les exceptions dans une fonction, lorsque cette dernière attend un float et que l'utilisateur entre un str. Python considère que le str est une variable non définie et bypass le block exception située dans la fonction...
Alors une exception va surtout servir à gérer une erreur entraînée par une action de l'utilisateur.
Dans le cas de l'appel d'une fonction, c'est le développeur qui le fait dans son code (pas un utilisateur). Donc, en tant que programmeur, s'il y a eu une saisie, tu dois gérer l'erreur AVANT d'appeler ta fonction, pour t'assurer que tu lui enverras bien en paramètre le "float" attendu et pas autre chose ;)
Merci ! logique ;-)
De rien ;)
Bonjour Jason,
Tout d'abord, bravo et merci pour ces vidéos. J'ai découvert ta chaîne récemment et je m'y suis abonné direct !
J'ai un petit souci avec le commencement de celle-ci. Il me semble que je tape la même chose que toi et pourtant, si j'entre un nombre, tout va bien, si j'entre autre chose, je n'ai pas le même affichage sur le terminal :
Voici le code :
***************************************
age = input("Quel age as-tu ?
")
try:
age = int(age)
print("tu as" , age, "ans")
except:
print("Ton age n'est pas valide !")
***************************************
Et l'affichage en cas d'erreur :
***************************************
Traceback (most recent call last):
File "main.py", line 73, in
age = input("Quel age as-tu ?
")
File "", line 1, in
NameError: name 'er' is not defined
***************************************
Peux-tu me dire ce qui ne va pas ?
Bien cordialement
Patrick !
P.S. J'ai le même résultat avec un "else".
Attention à l'écriture du code, notamment sur les tabulations. Ici le code qui fonctionne : pastebin.com/nLE9CsBT
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
J'ai une question par rapport à try et except.
Est ce que le fait de remplacer try et except par if et else, ca rend à peu près la même chose ?
Non du tout, comment pourrais-tu capturer une exception dans un bloc "else" d'une condition ?
@@formation-video Oui seulement pour exception comme les erreurs par exemple, mais d'autres exceptions je ne peux pas les capturer avec else ? Fin plutôt les éviter
Non, le but d'une exception, c'est quelle ne soit pas évitée. Elle est là pour signaler une erreur, qui doit alors être gérée par le développeur. Une exception déclenchée doit donc stopper le programme, c'est comme une sécurité (ex : tu essaies d'ouvrir un fichier audio pour le lire sur ton lecteur - si le fichier n'existe pas ou est mal encodé, il ne faut absolument pas poursuivre l'exécution du programme, par contre il faut traiter l'exception pour informer l'utilisateur de "pourquoi" son fichier n'a pas pu être lu / pourquoi le programme a planté, etc.)
Bonjour est il possible d'associer une boucle avec la gestion d'erreur ? C'est as dire recommencer tant que l'on a pas executé le try ?
j'ai beau essyer je n'y arrive pas ... Merci
Bonjour, oui tu le peux, par exemple de cette manière : pastebin.com/Dk86npDE
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
💙 Si ce n'est pas encore fait, n'hésite pas à t'abonner à la chaîne
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
j'ai un problême, après avoir tapé exactement la même chose à 7:30, mon terminal n'a pas envie de prendre en compte le except et m'affiche une erreur comme si je ne l'avis pas mis.
Une âme charitable serait m'aider ?
Bonjour, il faudrait voir ton code (peut-être qu'une erreur s'est glissée), et as-tu bien enregistré ton fichier à chaque fois (CTRL + S) ?
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
🔵 Rejoindre FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
Oui, j'ai verfiier plusieurs fois et c'est la même chose au charactère près mais rien n'y fais
Sachant que même en précisant le type d'erreur (NameError, etc..) et en vérifiiant la version que j'utilise (je l'ai ai toutes faites) je n'y arrive toujours pas
De plus le :
except ZeroDivisionError:
marche alors qu'avec NameError(parce que mon terminal me dit que c'est pas une ValueError maiis une NameError)
Montre voir ton code
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
🔵 Rejoindre FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
Le voilà :
#Coding:utf-8
nombre1 = 100
nombre2 = input('Diviseur : ')
try:
nombre2 = float(nombre2)
print('Resultat = {}'.format(nombre1 / nombre2))
except ZeroDivisionError:
print('Diviseur par 0. Imposible')
except NameError:
print('Texte. Imposible')
except:
print('ERREUR')
Tous ça dans un éditeur de texte appeller : main.py
OK, le code est correct, donc je suspecte que l'erreur vient de l'indentation de ton code. Pense à bien faire des tabulations dans les blocs (try, except, etc.)
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
🔵 Rejoindre FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
Très bonne vidéo néanmoins, j'ai une petite question concernant la partie parlant de "raise". Pourquoi, à la place de mettre raise, pourrions-nous pas mettre un print("attention on ne peut pas diviser par zero") et ainsi ne pas devoir mettre un try: .... except ni le raise ? Dans l'exemple que vous donnez sur un inventaire qui serait complet, pourquoi ne pas mettre print("Attention inventaire full") si nous rentrons dans une condition à la place de créer une nouvelle exception ?
Parce que c'est le principe des exceptions (qui peut survenir à l'exécution du programme ou que nous pouvons manuellement déclencher). Cela permet une erreur gestion de son programme, et permettre de traiter certaines choses même en cas d'erreur.
Prenons un exemple critique : tu es sur un jeu vidéo en ligne, là le serveur plante, cela va normalement (si c'est bien conçu) déclencher une Exception, qui va permettre d'aller sauvegarder les données avant de couper le jeu, ce qui éviter la perte de la progression.
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
@@formation-video merci bcp pour cette réponse, j'ai bien compris mtn tout l'intérêt.
D'accord 😉
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Est ce que on peut faire printf('' resultat=''nombre1/nombre2 ) a la place de la votre syntaxe en utilisant .format
Oula, tu mélanges du C et du Python là. Avec la méthode format(), cela donnerait : pastebin.com/G4yjyyY4
Tu as également d'autres manières de formater du texte en Python : ruclips.net/video/4ApZ80RegNI/видео.html
Bonjour,
Dans ce code, les exceptions ne sont pas prises en compte.
1. Si je lance le code directement en mettant la lettre m (Cf. dernière ligne ci-dessous), j'ai le message d'erreur suivant:
Traceback (most recent call last):
File "C:\Users\pytho\OneDrive\Bureau\Python\Tests\secondaire1.py", line 19, in
SaisieAge(m)
NameError: name 'm' is not defined
2. Quand j'appelle la fonction SaisieAge dans un autre fichier en entrant la lettre m j'ai le même message d'erreur.
Avec un chiffre strictement positif ça marche sans problème.
En saisissant les chiffres -3 et 0 j'ai bien le message "Oups....il y a un bug!". Pourtant le chiffre 0 devrait lever une AssertionError et donc le message lié...
Merci d'avance pour votre réponse et le temps passé :) .
Bien cordialement
#coding:utf-8
def SaisieAge (age):
try:
age=int(age)
assert age>0
except AssertionError:
print ("L'âge saisi doit être un nombre strictement positif")
except NameError:
print("Il faut saisir un chiffre")
except:
print("Oups...il y a un bug!")
else:
print("Tu as {} ans.Bravo!".format (age))
finally:
print("Fin du programme...")
if __name__ == "__main__":
SaisieAge(m)
C'est bien normal, tu as oublié les guillemets autour dur "m". Tel que tu l'as fait dans ton code, le programme s'attend à trouver une variable nommée "m", qui n'existe évidemment pas, d'où l'erreur Name 'm' is not defined 😉
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
💙 Si ce n'est pas encore fait, n'hésite pas à t'abonner à la chaîne
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
je ne comprend pas trop lutiliter de try et except vu qu'on a if et else. on a qua juste mettre
if age > 100:
print("tu as du vecu")
else:
print("tu es encore jeune")
print("fin du programme")
et voila dans tout les cas la fonction sera afficher pas besoin detre precis sur les exception?
Non ce n'est pas comme cela que fonctionnent les exceptions. En fait lors de l'exécution de ton programme, des erreurs peuvent être déclenchées. Et par cela, avoir un bloc "except" permet de les capturer et de les traiter. Aussi, une exception qui se produit va mettre fin à l'exécution du programme.
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Pour le code à 7:34~ ça n'a pas marché :
Le code :
#coding:utf-8
ageUser = input("T'a quel âge ? : ")
try:
ageUser = int(ageUser)
except:
print("L'age indiqué est incorrect")
else:
print("Tu as", ageUser, "ans")
Résultat :
File "test.py", line 3
SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xe2 in position 9: invalid continuation byte
Je suis sous python 3.8...
Ah nan c'et bon en fait j'avais pas fait gaffe mais j'étais en ANSI et pas en utf-8 Désolé
Parfait 👍
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Salut, j'aimerais savoir c'est quoi la différence entre par exemple age = int(input("ton age")) et le tiens que tu sépare en deux lignes stp merci !
Bonjour, la seule différence est que dans mon code, les instructions sont écrites sur deux lignes, c'est tout 😉
Super video
🙏
Bonjour Jason c'est pour vous demander j'ai pas bien compris assertion est ce que vous pouvez me l'expliquer s'il vous plaît
Définir une assertion, c'est considérer qu'une expression doit être vraie (et vérifiée), par exemple : que l'on ne divise pas par 0. Si elle n'est pas validée, une AssertionError sera déclenchée
Merci beaucoup Jason
Bonjour, quand j'utilise except ça me met invalid synthax et je ne comprend pas pourquoi.
Bonjour, quel est ton code ?
Salut ! Comment on fait pour mettre plusieurs conditions dans try sachant qu'il est nécessaire d'en vérifier une seule et non pas toutes (or). Merci d'avance !
Bonjour, tu peux faire plusieurs conditions comme tu le ferais en dehors d'un try, c'est la même syntaxe 😉
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Pourquoi utilises-tu le Windows Powershell aulieu de l'invite de commande ? ^^ Sinon c'est au top tu gères de fou ! :)
Question de préférence, notamment PowerShell qui en plus de permettre d'utilisation la syntaxe qu'on retrouve sur l'invite de commandes MS-DOS est également compatible avec une syntaxe similaire aux terminaux UNIX (ex : lister le contenu d'un répertoire en faisant "dir" en MS-DOS, ou "ls").
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
En utilisant raise je n'arrive pas à mettre un nom d'erreur autre que ceux déjà défini par python
Oui, parce qu'il faut créer ta propre classe d'exception
Salut je pense que l’on peut provoqué le dernier type d’erreur avec un nombre à virgule
Bonjour, quel moment de la vidéo exactement ?
Si tu parles de capturer une AssertionError, non, le fait de saisir un entier ne va pas déclencher ce type d'erreur, car la fonction int() va plutôt lever une ValueError.
j'ai une question par exemple on a envoyer l'except à l'utilisateur donc on doit mettre une boucle pour qu'il puisse entrer ce qui est correcte comment le faire??
Si une exception est déclenchée, le programme va s'arrêter.
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖