- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Deviens membre Premium magic_button
Débloque cette session en devenant Membre Premium 🚀
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte personlive_helpToutes les questions
Fabien
21 avril 2024 - 21 avril 2024 à 12:57
checkConversation résolue
2 réponses
Différence entre sys.exit() et break
Bonjour, Dans mon projet de liste j'ai utilisé 'break' dans le choix 5 pour sortir de la boucle et ainsi arrêter le script. Quelle différence avec sys.exit() dans ce cas?
00:00:00 :La première action c'est d'ajouter un élément à notre liste.Donc là c'est assez simple, on va tout d'abord demander le nom de l'élément qu'il souhaite ajouter,là encore grâce à la fonction input, et on va récupérer ça dans une variable que j'ai appelée item.
00:00:14 :Ensuite on va ajouter cet item grâce à la méthode append à notre variable global list que l'on a définie au début du script.Et on va tout simplement finir par un print et on va afficher que l'élément item a bien été ajouté à la liste.
00:00:27 :On utilise un fstring qui est représenté par le f avant les guillemets de la chaîne de caractère,et à l'intérieur de ce fstring on peut donc afficher l'élément qui a été rentré par l'utilisateuret que l'on a récupéré dans la variable item à l'intérieur de cette chaîne de caractère grâce aux accolades.
00:00:41 :Donc on met les accolades et on met le nom de la variable que l'on souhaite afficher à l'intérieur de la chaîne de caractère.Donc rien de bien compliqué ici, juste le input, on demande à l'utilisateur le nom d'un élément à ajouter,on l'ajoute dans la liste et on indique à l'utilisateur qu'il a bien été ajouté.
00:00:56 :Ça c'est pour la première option. La deuxième option, on va retirer un élément.Donc on va encore une fois demander le nom d'un élément cette fois-ci à retirer de la liste de courseet on va devoir faire une petite vérification ici avec une structure conditionnellepuisqu'on ne peut pas retirer un élément qui n'existe pas dans une liste.
00:01:14 :Si vous faites list.remove et que vous essayez d'enlever un élément qui n'est pas dans la liste, vous aurez une erreur.Donc il faut s'assurer au préalable que l'élément que l'on veut enlever est bien présent dans la liste.
00:01:23 :On va faire ceci avec l'opérateur in qui nous permet de vérifier si un élément est présent dans une structure de données.Donc on va vérifier if item in list, donc si l'élément que l'utilisateur a rentré est dans la listeet si c'est le cas, on va utiliser cette méthode remove sans risquer de faire planter notre script
00:01:40 :puisque notre élément sera bien dans la liste.Donc on va faire list.remove item pour enlever cet élément de la listeet comme on l'a fait pour l'option numéro 1, on va afficher une phrase qui nous dit que l'élément a cette fois-ci bien été supprimé de la liste.
00:01:52 :Donc là encore on utilise un if string.Si jamais l'élément n'est pas dans la liste, donc on va se rendre dans le elseet on va tout simplement afficher là encore un if string en indiquant cette fois-ci que l'élément n'est pas dans la liste.
00:02:04 :Donc ça c'est pour la deuxième option pour retirer un élément avec cette vérification pour s'assurer que le script ne plante paset avec ici le remove qui nous permet d'enlever l'élément de la liste.
00:02:15 :On va ensuite avoir la troisième option qui nous permet d'afficher les éléments qui sont contenus dans la liste.Donc là encore on va faire une vérification puisque si la liste ne contient aucun élément,on veut afficher cette phrase qui indique que la liste ne contient aucun élément.
00:02:28 :Donc ce qu'on va faire ici c'est tout simplement une structure conditionnelle qui va vérifier que la liste contient bien au moins un élément.Par défaut une liste qui est vide est évaluée comme false, donc le booléen false.
00:02:46 :Si par contre la liste contient au moins un élément et bien ce sera évalué comme vrai et cette structure conditionnelle sera exécutée.Donc là si la liste contient au moins un élément, on va tout simplement afficher une première phrase qui dit voici le contenu de votre listeet ensuite on va boucler à travers tous les éléments de la liste.
00:03:03 :Ce qu'on veut ici c'est afficher à la fois l'élément et la position de l'élément dans la liste.Pour ça on va utiliser la fonction enumerate. Enumerate ça nous permet de récupérer à la fois l'indice et l'élément sur lequel on boucle.
00:03:15 :Ça on va le récupérer dans deux variables qui sont définies ici. La première c'est l'indice que j'ai appelé i, on met ensuite une virguleet on va mettre la deuxième variable qui va elle récupérer l'élément, donc je l'ai appelé item.
00:03:27 :On a ensuite un deuxième argument ici qui est le nombre 1, ça nous permet de spécifier à quel indice on veut commencer.Donc en fait le i ici va prendre la valeur de 1 à la première itération de la boucle.
00:03:38 :Si on ne met pas ça ici, si on enlève le 1, par défaut on va commencer à 0.Donc ça voudrait dire qu'on afficherait ici par exemple 0, pomme, 1, banane, 2, poire, etc.
00:03:48 :Nous ce qu'on veut c'est commencer à 1. Donc ce qu'on pourrait faire c'est tout simplement garder ça ici comme ceci,donc sans mettre le 1 après à enumerate, et on pourrait ajouter i plus 1 directement ici.
00:03:58 :Donc là ça nous permettrait de commencer à 0 mais d'ajouter 1, donc en fait on commencerait à 1.Moi je préfère utiliser enumerate ici puisque là ce n'est pas forcément très clair pourquoi on fait une addition.
00:04:09 :On finit par comprendre qu'on veut en fait commencer à 1 et que donc là sans donner de deuxième argument à enumerate,on commence à 0 et qu'il faut donc ajouter 1.
00:04:16 :Mais le deuxième paramètre de la fonction enumerate sert précisément à faire commencer l'indice à autre chose que 0.Donc je trouve ça plus clair de mettre ici 1 directement dans la fonction enumerate et de ne pas faire un calcul.
00:04:29 :Je trouve que pour quelqu'un qui ne connaît pas mon script, qui arrive dans le script,et bien il comprend plus facilement ici que je veux tout simplement commencer avec un indice qui est à 1 et non pas à 0.
00:04:39 :Ensuite donc qu'est-ce qu'on fait ici à l'intérieur de cette boucle ?Et bien on va tout simplement afficher chaque élément avec là encore un href string.
00:04:45 :On met en premier donc l'indice qui va commencer à 1, ensuite un point, un espace et l'élément de l'itération actuelle de la boucle.Donc là si on a une liste qui contient pomme, banane, poire, on va afficher 1 pomme, 2 bananes et 3 poires.
00:04:58 :Donc ça c'est pour l'affichage de la liste et comme on l'a vu précédemment, si la liste ne contient rien,donc on va aller dans le else et tout simplement afficher votre liste ne contient aucun élément.
00:05:07 :Donc ça c'est pour l'affichage de la liste.On va ensuite avoir tout simplement l'option numéro 4 qui nous permet de vider la liste.Donc pour ça on utilise la méthode clear qui nous permet de supprimer tous les éléments d'une liste.
00:05:18 :On pourrait également recréer une liste vide, ça fonctionnerait de la même façon.Mais là encore je trouve que c'est plus clair d'utiliser cette méthode clear qui nous indique bien qu'on vide la liste actuelleplutôt qu'en en créer une nouvelle.
00:05:30 :Là encore si on en crée une nouvelle, je trouve que ce ne sera pas forcément très clair pour quelqu'un qui arrive dans notre script.Il pourrait se demander pourquoi est-ce qu'on crée une nouvelle liste.
00:05:38 :Là vraiment le but c'est de vider la liste existante.Donc on ne va pas recréer une nouvelle liste en mémoire, on va juste vider tous les éléments qui étaient dans notre listegrâce à cette méthode clear et ensuite on va tout simplement refaire un print pour indiquer que la liste a bien été vidée de son contenu.
00:05:58 :Donc là ça va être grâce au module 6.On va utiliser 6.exit qui nous permet de sortir du script actuel quand on est dans un script en ligne de commande.
00:06:06 :Juste avant ça on affiche une petite phrase pour dire à bientôt et ensuite on sort donc avec 6.exit.Pour finir on fait juste un print de ce caractère donc 1-x50.
00:06:17 :Donc ça c'est tout simplement pour séparer les différentes itérations de ma boucle.Là on a notre grande structure conditionnelle avec tous les if et elif et à chaque fois qu'on aura traité le choix de l'utilisateuron va repartir en haut de notre boucle while et on va redemander à l'utilisateur de faire un choix.
00:06:33 :Donc on va afficher à chaque fois tout ce menu ici et donc c'est pour ça que je fais un print de ce caractère à la finjuste pour séparer les différents choix qui ont été faits par l'utilisateur.
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.