Sortir boucle en Python
Bonsoir,
Je débute en python et j’ai voulu faire un programme qui ajoute un élément dans une liste, qui peut afficher la liste ainsi que quitter le programme.
Je n'arrive pas a trouver la soluce pour ce faire
Je cherche a quitter le premier
Merci d'avance, un retraité curieux :).
Je débute en python et j’ai voulu faire un programme qui ajoute un élément dans une liste, qui peut afficher la liste ainsi que quitter le programme.
Je n'arrive pas a trouver la soluce pour ce faire
choix = "" liste_elements = [] liste_choix = [1, 2, 3, 4, 5] while True: #menu choix affiché choix = "" print( ) print("--------------------------------") print("Choisissez parmi les 3options suivantes :") print("1: Ajouter un élément à la liste.") print("2: Afficher la liste.") print("3: Quitter.") #test entrée est bien un chiffre while True: try: choix = int(input("Votre choix ?")) break except ValueError : print("Erreur, votre choix doit etre un nombre!") #test du nombre entré et option exécutée while choix in liste_choix: if choix == 1 : print("Choix 1, ajouter un élément") ajouter=input("Votre ajout ?") liste_elements.append(ajouter) break if choix == 2 : print("Choix 2, Afficher la liste") print(liste_elements) break if choix == 3: print("Choix 3 , Quitter") break
Je cherche a quitter le premier
while(le menu) uniquement si j'ai fini toutes les opérations et quand je presse la touche 3
Merci d'avance, un retraité curieux :).
A voir également:
- Sortir boucle en Python
- Citizen code python avis - Accueil - Outils
- Comment sortir du bios - Forum BIOS
- Mon ordi démarre dans le bios et impossible de sortir ✓ - Forum PC portable
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Ce programme est écrit en python ✓ - Forum Python
2 réponses
Bonjour
En Python, l’indentation est primordiale, or par défaut le site ne la conserve pas.
Pour la conserver il faut utiliser les balises de code. Voir ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
On pourra commencer à essayer de t’aider quand tu auras reposté correctement ton code.
En Python, l’indentation est primordiale, or par défaut le site ne la conserve pas.
Pour la conserver il faut utiliser les balises de code. Voir ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
On pourra commencer à essayer de t’aider quand tu auras reposté correctement ton code.
Bonjour,
Est ce que "si j'ai fini toutes les opérations et quand je presse la touche 3" signifie "si on a fait au moins un ajout et au moins un affichage" ?
Si oui, il suffit de garder traces des choix faits jusqu'ici et de vérifier si l'ensemble {1, 2} est inclu ou égal à ces choix (si on tente de quitter avant d'avoir fait 1 et 2, 3 peut figurer parmi les choix faits).
Voici à quoi ça ressemble (avec quelques petits arrangements supplémentaires) :
Le programme est améliorable en rassemblant les opérations possibles (ajout, affichage, liste) dans une liste de labels et définir tes tests et
Bonne chance
Est ce que "si j'ai fini toutes les opérations et quand je presse la touche 3" signifie "si on a fait au moins un ajout et au moins un affichage" ?
Si oui, il suffit de garder traces des choix faits jusqu'ici et de vérifier si l'ensemble {1, 2} est inclu ou égal à ces choix (si on tente de quitter avant d'avoir fait 1 et 2, 3 peut figurer parmi les choix faits).
Voici à quoi ça ressemble (avec quelques petits arrangements supplémentaires) :
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import sys liste_elements = [] choix_faits = set() while True: # Menu choix affiché choix = "" print( ) print("-" * 80) print("Choisissez parmi les 3 options suivantes :") print("1: Ajouter un élément à la liste.") print("2: Afficher la liste.") print("3: Quitter.") # Test entrée est bien un chiffre choix = None while choix not in {1, 2, 3}: try: choix = int(input("Votre choix ?")) except ValueError : print("Erreur, votre choix doit être un nombre parmi {1, 2, 3} !", sys.stderr) # Test du nombre entré et option exécutée if choix == 1 : print("Choix 1, ajouter un élément") ajouter = input("Votre ajout ?") liste_elements.append(ajouter) elif choix == 2 : print("Choix 2, Afficher la liste") print(liste_elements) elif choix == 3: print("Choix 3 , Quitter") if not {1, 2} <= choix_faits: print(f"Certains choix n'ont pas encore été faits {choix_faits} != {1, 2}") else: break choix_faits.add(choix)
Le programme est améliorable en rassemblant les opérations possibles (ajout, affichage, liste) dans une liste de labels et définir tes tests et
#!/usr/bin/env python3 # -*- coding: utf-8 -*- liste_elements = [] choix_faits = set() choix_possibles = [ "Ajouter un élément à la liste", "Afficher la liste", "Quitter", ] while True: # Menu choix affiché choix = "" print( ) print("-" * 80) print(f"Choisissez parmi les {len(choix_possibles)} options suivantes :") print("\n".join( f"{i + 1}: {choix_possible}." for (i, choix_possible) in enumerate(choix_possibles) )) # Test entrée est bien un chiffre choix = None while choix not in set(i + 1 for i in range(len(choix_possibles))): try: choix = int(input("Votre choix ?")) break except ValueError: print("Erreur, votre choix doit etre un nombre!") # Test du nombre entré et option exécutée print(f"Choix {choix}, {choix_possibles[choix - 1]}") if choix == 1 : ajouter = input("Votre ajout ?") liste_elements.append(ajouter) elif choix == 2 : print(liste_elements) elif choix == 3: if len(choix_faits) < len(choix_possibles) - 1: print(f"Certains choix n'ont pas encore été faits {choix_faits}") else: break else: print("Choix {choix} par encore implémenté", sys.stderr) choix_faits.add(choix)
Bonne chance