Sortir boucle en Python
Fermé
Cyrion_81
-
Modifié le 31 janv. 2022 à 14:52
mamiemando Messages postés 33336 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 5 novembre 2024 - 31 janv. 2022 à 14:55
mamiemando Messages postés 33336 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 5 novembre 2024 - 31 janv. 2022 à 14:55
A voir également:
- Sortir boucle en Python
- Citizen code python - Accueil - Outils
- Sortir un pc du domaine ✓ - Forum Réseau
- Télé samsung s'éteint et se rallume en boucle - Forum Téléviseurs
2 réponses
Utilisateur anonyme
31 janv. 2022 à 06:25
31 janv. 2022 à 06:25
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.
mamiemando
Messages postés
33336
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
5 novembre 2024
7 801
Modifié le 31 janv. 2022 à 15:09
Modifié le 31 janv. 2022 à 15:09
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