IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Un while dans un if


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    autodidacte
    Inscrit en
    Mars 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Mars 2013
    Messages : 33
    Points : 37
    Points
    37
    Par défaut Un while dans un if
    Salut,

    Est-ce que quelqu'un sais s'il est possible de placer un while à l'intérieur d'un if.???

    Merci.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 302
    Points : 6 782
    Points
    6 782
    Par défaut
    Salut,

    La réponse est oui.

    Le if et le while ne sont pas mutuellement exclusifs, un bloc if peut contenir une boucle for ou while et ces boucles peuvent elles-même contenir des blocs if.

    Il ne te reste plus qu'à essayer.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    autodidacte
    Inscrit en
    Mars 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Mars 2013
    Messages : 33
    Points : 37
    Points
    37
    Par défaut
    Merci pour la réponse.J'ai essayer justement avant de poser la question mais je rencontre des problèmes d'indentations à tous va.

    Les boucles me donnent des migraines en ce moment...

  4. #4
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 480
    Points : 9 277
    Points
    9 277
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Un petit code d'essai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    a = 0
    if a<10:
        b = 0
        while b<10:
            print(b)
            b += 1
    print("fin")
    Ce qui affiche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    fin

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    autodidacte
    Inscrit en
    Mars 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Mars 2013
    Messages : 33
    Points : 37
    Points
    37
    Par défaut
    Merci.En faite je n'arrive pas à mettre en place une boucle while qui répéte une question tant que l'utilisateur ne saisie pas un nombre de 1 à 7.

    Ou plutôt en partie mais pas complètement...J'arrive à faire répéter la question mais le problème est que même si le nombre est dans l'intervalle de 1 à 7,la question est reposée quand même...

    Alors que j'essaye de partir sur un else si la saisie est correct..Comprends pas..



    Si vous auriez un exemple que je puisse mettre toute la lumière sur ma migraine,je vous en serait très reconnaissant.

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 302
    Points : 6 782
    Points
    6 782
    Par défaut
    Je propose que tu postes ton code.

    Sans fausse pudeur. Nous sommes tous des débutants ici.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    autodidacte
    Inscrit en
    Mars 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Mars 2013
    Messages : 33
    Points : 37
    Points
    37
    Par défaut
    Bonjour,merci pour votre aide,j'ai résolu le problème finalement,je n'avais pas compris la logique....

  8. #8
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 721
    Points : 31 044
    Points
    31 044
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par 56442 Voir le message
    Merci.En faite je n'arrive pas à mettre en place une boucle while qui répéte une question tant que l'utilisateur ne saisie pas un nombre de 1 à 7.

    Ou plutôt en partie mais pas complètement...J'arrive à faire répéter la question mais le problème est que même si le nombre est dans l'intervalle de 1 à 7,la question est reposée quand même...

    Alors que j'essaye de partir sur un else si la saisie est correct..Comprends pas..

    Bonjour,merci pour votre aide,j'ai résolu le problème finalement,je n'avais pas compris la logique....
    Salut
    Généralement (sauf si tu es en école) la méthode la plus simple est celle-ci

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while True:    # Boucle infinie
        saisie nombre
        si nombre correct: break
        afficher "mauvaise saisie - Recommencer"
    # while

    Je trouve ça simple et efficace. Toutefois le problème est que certains puristes (qui, bizarrement, sont majoritaires chez les profs) n'aiment pas l'utilisation de break et vont jusqu'à t'accuser d'hérésie. Ce que je dis, moi, c'est qu'un bon break/continue vaut parfois mieux que toute une floppée de tests dans tous les sens. Ce n'est pas l'outil qui est mauvais... mais plutôt la façon de s'en servir...

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    autodidacte
    Inscrit en
    Mars 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Mars 2013
    Messages : 33
    Points : 37
    Points
    37
    Par défaut
    Merci.

Discussions similaires

  1. boucle "while" dans un sous-formulaire
    Par philebaucis dans le forum VBA Access
    Réponses: 4
    Dernier message: 02/04/2017, 06h15
  2. [FPDF] Problème avec un while dans un tableau
    Par nigg4z dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 11/10/2007, 15h13
  3. probleme de boucle while dans une procedure stockée
    Par aboulemagnifique dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 08/08/2007, 12h39
  4. While dans une function ?
    Par jfberub dans le forum Langage
    Réponses: 5
    Dernier message: 02/12/2006, 21h34
  5. insérer les recordset d'un while dans une variable
    Par yoda_style dans le forum ASP
    Réponses: 4
    Dernier message: 31/03/2005, 10h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo